我正在使用php和mysql为我的项目使用pear包。
我想跟踪我的程序中的错误。
有没有办法跟踪pear package或php5中的错误。
假设在我的程序中生成了任何错误或警告,那么我想跟踪此错误并
存储到数据库中。
任何人都有这个想法。
提前感谢。
答案 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)来编写包含特定应用程序数据的日志。您甚至可以指定消息重要性级别,以省去生产系统上的调试数据。
答案 3 :(得分:0)
有Sentry。它是用Python编写的,但你可以write a PHP client。我自己找不到一个,所以请知道你是否找到/编码一个。
答案 4 :(得分:0)
我已经编写了一个功能强大的错误跟踪库,它允许您使用单个API跟踪应用程序中的错误,例如Exceptiontrap,Sentry,Raygun,Airbrake等任何或所有服务以及日志,电子邮件,数据库等本地资源和FirePHP。检查