webiik/error

该错误提供更多控制显示和记录PHP错误的能力。

1.1 2019-08-08 10:10 UTC

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...
});

资源