自动记录PHP中的所有错误,警告和通知

Tar*_*rik 1 php error-handling

我正在寻找一种方法,使用一行代码自动记录所有错误.如果您了解Asp.NET,您可能知道我使用Application_Error事件处理程序的意思.

我查了一下PHP Logging框架?在SO中的问题,但它们看起来都一样,你应该手动记录每一条日志消息,这意味着我需要在我想要记录的任何地方调用日志功能.

我正在寻找的不是这样的(KLogger使用的)

require_once 'KLogger.php';
...
$log = new KLogger ( "log.txt" , KLogger::DEBUG );

// Do database work that throws an exception
$log->LogError("An exception was thrown in ThisFunction()");

// Print out some information
$log->LogInfo("Internal Query Time: $time_ms milliseconds");

// Print out the value of some variables
$log->LogDebug("User Count: $User_Count");
Run Code Online (Sandbox Code Playgroud)

rai*_*ace 6

您可以在PHP中创建自己的自定义错误处理函数,并将其设置为错误处理程序

就像是:

function handle_error($error_level,$error_message)
{
    /*
    here do what you want...typically log it into db/file/send out 
    emails based on error level etc..
    */
}
Run Code Online (Sandbox Code Playgroud)

并将此函数设置为PHP的默认错误处理程序添加此行:

set_error_handler("handle_error"); 
Run Code Online (Sandbox Code Playgroud)

现在,所有错误都将由PHP根据内部编写的内容进行处理 handle_error