有几种方法可以做到这一点控制错误日志与库或大量工作的自我编码。
Monolog - Logging for PHP
Loggy 上基本类型的库和不错的示例
PHP 错误日志类型
PHP 提供了多种错误日志类型,用于识别应用程序运行时遇到的错误的严重程度。
错误级别表明引擎是否无法解析和编译您的 PHP 语句,或者无法访问或使用您的应用程序所需的资源,一直到让您知道您是否有可能的拼写错误变量名。
虽然错误级别是整数值,但每个错误级别都有预定义的常量。
使用常量将使您的代码更易于阅读和理解,并在引入新的错误级别时保持向前兼容。
遇到的常见错误级别包括:
检查Predefined Constants
这里有很好的教程:Ultimate Guide to Logging
另一种方式是基本例外
PHP 有一个基础 Exception 类,该类默认情况下在该语言中可用。
如果需要,基 Exception 类是可扩展的。
示例:(假设指令log_errors = 1)。
try{
if(true){
throw new Exception("Something failed", 900);
}
} catch (Exception $e) {
$datetime = new DateTime();
$datetime->setTimezone(new DateTimeZone('UTC'));
$logEntry = $datetime->format('Y/m/d H:i:s') . ‘ ‘ . $e;
// log to default error_log destination
error_log($logEntry);
//Email or notice someone
//OR use fopen(); function and write in to error_log file
}
上面的例子会产生以下错误日志条目:
2020/01/05 15:02:24/Something failed/900//var/www/html/index.php/4