记录PHP中抛出的所有异常


Log all exceptions thrown in PHP

我想记录所有抛出的捕获或未捕获的异常的堆栈跟踪。

有没有一种方法可以做到这一点,而不必改变我的应用程序中的每个捕获方法?

谢谢!

您可以使用set global exception handler,这样您将获得所有未捕获的异常。

可以使用php的Exception基类中的方法。使用getMessage获取消息Oh no!并使用getTraceAsString来获取格式化的跟踪。日志捕获异常与堆栈跟踪

您可以使用https://github.com/php-test-helpers/php-test-helpers来覆盖基本异常__construct。只需添加"日志"逻辑。这个包被称为test-helpers是有原因的。我不建议在生产环境中使用它。

无论如何……最好重写你的应用:)