webiik/error

The Error provides more control over displaying and logging PHP errors.

1.1 2019-08-08 10:10 UTC

This package is auto-updated.

Last update: 2024-04-08 21:36:46 UTC


README

68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f77656269696b2f77656269696b2e737667 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646570656e64656e636965732d302d627269676874677265656e2e737667

Error

The Error provides more control over displaying and logging PHP errors.

Installation

composer require webiik/error

Example

$error = new \Webiik\Error\Error();

Silent mode

setSilent

setSilent(bool $bool): void

setSilent() activates or deactivates silent mode. When Error is not in silent mode it halts code execution on every error and then it displays error message. In silent mode instead of displaying error message a custom error page is shown and some errors can be completely ignored.

$error->setSilent(true);

setSilentPageContent

setSilentPageContent(string $string): void

setSilentPageContent() sets custom error page to be shown when error occurs in silent mode.

$error->setSilentPageContent('<h1>Ups! Kitten lost!</h1>');

setSilentIgnoreErrors

setSilentIgnoreErrors(array $arr): void

setSilentIgnoreErrors() sets an array of error constants that will be ignored in silent mode - no custom error page will be shown and code execution will not stop.

$error->setSilentIgnoreErrors([
    'E_NOTICE',
    'E_USER_NOTICE',
    'E_DEPRECATED',
    'E_USER_DEPRECATED',
]);

Logging

setErrLogDefLevel

setErrLogDefLevel(string $level): void

setErrLogDefLevel() associates PSR-3 log level to all PHP error constant. The default value is warning.

$error->setErrLogDefLevel('error');

Note: Please keep on mind that PHP error constant (eg. E_NOTICE) and PSR-3 log level (eg. notice) are two different things and there is no connection between them.

setErrLogLevel

setErrLogLevel(array $assocArr): void

setErrLogLevel() associates PSR-3 log level to specific PHP error constant. Default values are shown in the example below.

$error->setErrLogLevel([
    'Exception' => 'error',
    'E_ERROR' => 'error',
]);

setLogService

setLogService(callable $function): void

setLogService() sets custom logger logging errors. function is injected with the following parameters: string $level, string $message, array $data. By default all PHP errors are logged with 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...
});

Resources