2010-06-09 110 views
3

我使用php和mysql为我的项目与梨包。php错误跟踪

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

有什么方法可以跟踪pear包或php5中的错误。

想在我的程序中的任何错误或警告产生的话,我想跟踪这个错误,

店到数据库中。

任何人都有想法。

在此先感谢。

回答

0

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

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

此外,我会建议使用Firebug连同Firephp。通过这种方式,您可以轻松获得调试数据,而无需使用print_r等。

6

不要在数据库中存储错误。很多错误都是与数据库相关的。你会用它做什么?

PHP已经拥有了你想要的一切。只需打开log_errors INI指令和可选error_log一个指定的,而不是把PHP错误在Web服务器的日志文件

而且您可能会发现有用的一个trigger_error()功能,其可能带来的自定义消息到标准某个日志文件错误输出,例如

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

但我想在数据库中存储错误的详细信息。 – 2010-06-09 11:26:19

+1

然后每隔N小时解析一次该日志文件,并将其加载到数据库中以供以后进行错误报告。 – CaseySoftware 2010-06-09 11:28:43

+0

我同意Col.Shrapnel在这里,你不想跟踪应用程序中发生的错误。 – 2010-06-09 11:29:07

0

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

1

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

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

其他一些优点:

  • 这组的错误,而类似的错误组
  • 您会收到有关实时新的错误
  • 你看到的频率和时发生错误

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

0

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