php错误跟踪

时间:2010-06-09 11:12:41

标签: php tracking

我正在使用php和mysql为我的项目使用pear包。

我想跟踪我的程序中的错误。

有没有办法跟踪pear package或php5中的错误。

假设在我的程序中生成了任何错误或警告,那么我想跟踪此错误并

存储到数据库中。

任何人都有这个想法。

提前感谢。

5 个答案:

答案 0 :(得分:6)

不要在数据库中存储错误。许多错误与数据库相关。你会怎么做?

PHP已经拥有了你想要的一切。只需打开log_errors ini指令,然后选择error_log一个来指定某个日志文件,而不是将PHP错误放在Web服务器的日志文件中

此外,您可能会发现有用的trigger_error()函数可以为标准错误输出带来自定义消息,例如

mysql_error($sql);
if(!$sql) trigger_error(mysql_error()." in ".$sql);

答案 1 :(得分:1)

您应该使用错误跟踪服务,而不是将错误详细信息存储到您自己的数据库中。

在同一系统中跟踪自己的错误的问题是有问题的:由于错误发生的相同原因,它无法存储它们的可能性很高。像数据库有死锁或其他错误。解析您的日志文件可能没问题,但您只能在延迟很大的情况下了解错误,并且可能会遗漏有价值的信息。

其他一些优点:

  • 它将错误分组到类似的错误组
  • 您将收到有关实时新错误的通知
  • 您会看到错误发生的频率和时间

我是Exceptiontrap的创始人及其PHP library,但也有其他服务。

答案 2 :(得分:0)

如果您想更快地发现错误,您应该考虑使用xdebug。它提供了更多的错误输出,并允许您逐步调试应用程序。

如果您需要记录例外,您可以使用某些记录器(如Zend_Log)来编写包含特定应用程序数据的日志。您甚至可以指定消息重要性级别,以省去生产系统上的调试数据。

此外,我建议将FirebugFirephp一起使用。这样,您可以轻松获取调试数据,而无需使用print_r等。

答案 3 :(得分:0)

Sentry。它是用Python编写的,但你可以write a PHP client。我自己找不到一个,所以请知道你是否找到/编码一个。

答案 4 :(得分:0)

我已经编写了一个功能强大的错误跟踪库,它允许您使用单个API跟踪应用程序中的错误,例如Exceptiontrap,Sen​​try,Raygun,Airbrake等任何或所有服务以及日志,电子邮件,数据库等本地资源和FirePHP。检查