我正在使用 Apache 并使用 PHP 和 Zend 框架在 Ubuntu 上运行一个站点。
我想将异常信息通过电子邮件发送给开发人员,并且想知道一个很好的方法来做到这一点。我不想立即通过电子邮件发送每一个例外,因为如果发生重大事件,我们的收件箱将被淹没。
相反,我正在寻找一种方法,可以一次通过电子邮件发送过去一小时的异常和错误(达到一定的大小限制)。我正在考虑编写一个 cron 脚本来解析 Apache 的 error_log,但也许有比这样做更简单的方法。
我正在使用 Apache 并使用 PHP 和 Zend 框架在 Ubuntu 上运行一个站点。
我想将异常信息通过电子邮件发送给开发人员,并且想知道一个很好的方法来做到这一点。我不想立即通过电子邮件发送每一个例外,因为如果发生重大事件,我们的收件箱将被淹没。
相反,我正在寻找一种方法,可以一次通过电子邮件发送过去一小时的异常和错误(达到一定的大小限制)。我正在考虑编写一个 cron 脚本来解析 Apache 的 error_log,但也许有比这样做更简单的方法。
I'd recommend Hoptoad: http://hoptoadapp.com/pages/home
我从事一个开源项目。它是一个票据跟踪器,可以接收来自任何其他 PHP 应用程序的错误报告,可以检测重复项以避免电子邮件泛滥和电子邮件开发人员。
查看http://elastik.sf.net/和“ErrorReportingService”模块。
0.3.1 版将在几天后发布,并对错误收集机制进行了重大改进。
错误报告示例位于http://jarofgreen.wordpress.com/2011/01/30/tracking-errors-with-php/
如果您对托管解决方案不感兴趣,并且已经在使用 Zend 框架,那么将错误写入特殊数据库或日志并让定期运行的进程发送汇总信息应该不会太难。
例如,我的日常工作有一个应用程序以最精简的方式执行此操作:我们使用非常基本的日志(很像 apache 日志),并且定期进程获取日志内容,通过电子邮件发送并截断文件,以便下次不会发送旧条目。
当然,根据您正在寻找的解决方案的稳健程度,您可能想走另一条路。
我只是给出一些我认为应该有用的链接。
如果在 try/catch 块中未捕获到异常,则设置默认异常处理程序。调用 exception_handler 后将停止执行。
设置用户函数 (error_handler) 以处理脚本中的错误。