1

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

我检查了PHP 日志框架?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");
4

1 回答 1

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..
    */
}

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

set_error_handler("handle_error"); 

现在所有错误都将由 PHP 根据里面写的内容来处理handle_error

于 2012-08-24T05:15:37.623 回答