【发布时间】:2013-11-11 03:02:01
【问题描述】:
我想知道是否可以将 PHP 的 error_log() 功能的默认行为更改为默认包含源和原始行号。
我猜这可能通过 PHP ini 设置或通过以某种特定方式配置 apache 来完成,虽然我不是 apache 专家,但我不确定如何实现。
在我的默认环境中,在日志中查找错误的来源通常不会造成太大的问题,因为错误是由 PHP 警告或通知合法产生的,因为它会自动报告该行的来源。 .. 然而,程序员手动调用 PHP error_log() 并没有这样做,我找不到一种方法来使这种行为默认。
我知道,一般来说,您可以使用如下魔术常量手动实现行报告:
error_log("Failed to login to MySQL ".__LINE__);
但是,我很好奇并愿意接受有关是否有任何方法可以配置在日志中普遍报告错误的方式或其他任何方法来绕过更改代码中的每个调用以包含魔术常量的建议。
【问题讨论】:
-
尝试使用log4php。
-
从未尝试过,但如果您不想更改现有代码,您可以尝试覆盖内置的 error_log 函数:php.net/manual/de/function.override-function.php(并且可能使用 error_get_last 作为参数来自动获取错误消息)。
标签: php apache logging error-handling error-logging