PHP通知自定义格式

PHP Notice Custom Format

当PHP 向日志发出PHP Notice 时,它包含文件名和发生问题的行号。对于大型应用程序,这通常不足以重现问题。真正有用的是一些额外的信息,最明显的是 URL 在出现此通知时被调用。

有没有办法在 PHP >= 7 中自定义 PHP Notice 消息?

创建您自己的错误处理程序并捕获通知,然后使用您需要的任何信息记录消息。下面的代码生成以下 PHP 错误日志文件。

[27-Feb-2019 13:55:09 America/New_York] 8 Undefined variable: hello from URI /customnotice.php

function myErrorHandler($errno,$errstr, $errfile, $errline) {

    if ($errno == 8) {  // this is a notice
        error_log($errno . ' ' . $errstr . ' from URI ' . $_SERVER['REQUEST_URI']);
    }
}

$old_error_handler = set_error_handler("myErrorHandler");

echo $hello;  // will throw a notice for testing