【问题标题】:Log all exceptions thrown in PHP记录 PHP 中抛出的所有异常
【发布时间】:2014-08-07 11:29:19
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: php exception


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以使用 phps base Exception class 中的方法。 使用 getMessage 获取消息 哦不!并使用 getTraceAsString 获取格式化的跟踪。 参考:Log caught exception with stack trace

      【讨论】:

      • 但是有没有办法在全局范围内对所有抛出的异常执行此操作,我不想将 getTraceAsString 添加到我的每个尝试捕获
      【解决方案3】:

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

      无论如何...最好重写你的应用程序:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-30
        • 2017-10-03
        • 2012-02-12
        • 1970-01-01
        • 2014-03-31
        • 2016-05-30
        • 1970-01-01
        相关资源
        最近更新 更多