webiik / error
该错误提供更多控制显示和记录PHP错误的能力。
1.1
2019-08-08 10:10 UTC
Requires
- php: >=7.2
This package is auto-updated.
Last update: 2024-09-08 22:33:15 UTC
README
错误
该错误提供更多控制显示和记录PHP错误的能力。
安装
composer require webiik/error
示例
$error = new \Webiik\Error\Error();
静默模式
setSilent
setSilent(bool $bool): void
setSilent() 激活或禁用静默模式。当Error不在静默模式时,它会在每个错误处暂停代码执行并显示错误消息。在静默模式下,而不是显示错误消息,会显示自定义错误页面,并且某些错误可以被完全忽略。
$error->setSilent(true);
setSilentPageContent
setSilentPageContent(string $string): void
setSilentPageContent() 设置在静默模式下发生错误时要显示的自定义错误页面。
$error->setSilentPageContent('<h1>Ups! Kitten lost!</h1>');
setSilentIgnoreErrors
setSilentIgnoreErrors(array $arr): void
setSilentIgnoreErrors() 设置一个数组,包含在静默模式下要忽略的错误常量 - 将不会显示自定义错误页面,并且代码执行不会停止。
$error->setSilentIgnoreErrors([ 'E_NOTICE', 'E_USER_NOTICE', 'E_DEPRECATED', 'E_USER_DEPRECATED', ]);
日志记录
setErrLogDefLevel
setErrLogDefLevel(string $level): void
setErrLogDefLevel() 将PSR-3日志级别关联到所有PHP错误常量。默认值是 警告。
$error->setErrLogDefLevel('error');
注意:请记住,PHP错误常量(例如E_NOTICE)和PSR-3日志级别(例如notice)是两件不同的事情,它们之间没有联系。
setErrLogLevel
setErrLogLevel(array $assocArr): void
setErrLogLevel() 将PSR-3日志级别关联到特定的PHP错误常量。默认值在下面的示例中显示。
$error->setErrLogLevel([ 'Exception' => 'error', 'E_ERROR' => 'error', ]);
setLogService
setLogService(callable $function): void
setLogService() 设置自定义记录器记录错误。函数注入以下参数:string $level, string $message, array $data。默认情况下,所有PHP错误都通过 error_log() 记录。
$error->setLogService(function ($level, $message, $data) { // $level - PSR-3 log level // $message - Re-fromatted error message // $data - ['error type' => $errType, 'file' => $file, 'line' => $line, 'error message' => $message, 'trace' => $trace] // Your custom logger... });