enjoys / error-handler
Error Handler
dev-master
2023-09-22 08:44 UTC
Requires
- php: ^8.0
- ext-gd: *
- httpsoft/http-emitter: ^1.1
- httpsoft/http-message: ^1.1
- httpsoft/http-server-request: ^1.1
- psr/http-message: ^1.0|^2.0
- psr/http-server-middleware: ^1.0
- psr/log: ^1.0|^2.0|^3.0
Requires (Dev)
- infection/infection: ^0.26 | ^0.27
- monolog/monolog: ^2.0 | ^3.0
- phpunit/phpunit: ^9.6
- symfony/var-dumper: ^6.0
- vimeo/psalm: ^5.0
This package is auto-updated.
Last update: 2024-11-15 21:13:51 UTC
README
Быстрый запуск
$exceptionHandler = new \Enjoys\ErrorHandler\ExceptionHandler\ExceptionHandler(); $errorLogger = new \Enjoys\ErrorHandler\ErrorLogger\ErrorLogger(\Psr\Log\LoggerInterface $psr3logger); $errorHandler = new \Enjoys\ErrorHandler\ErrorHandler($exceptionHandler, $errorLogger); $errorHandler->register();
Настройки и методы ErrorHandler
/** @var Enjoys\ErrorHandler\ErrorHandler $errorHandler */ // $errorHandler->register(); // $errorHandler->unregister(); // Заменяет всю карту сопоставлений httpStatusCodeMap $errorHandler->setHttpStatusCodeMap([ 403 => [ UnAuthorizedException::class ], 404 => [ ResourceNotFoundException::class, NotFoundException::class, PageNotFoundException::class ] ]); // Заменяет всю карту сопоставлений loggerTypeMap $errorHandler->setLoggerTypeMap([ 500 => [ \Psr\Log\LogLevel::ERROR ], CriticatlException::class => [ \Psr\Log\LogLevel::CRITICAL, \Psr\Log\LogLevel::EMERGENCY ] ]); // $errorHandler->setLogContextCallable(); // $errorHandler->addFatalError(E_WARNING | E_USER_WARNING) // $errorHandler->resetFatalErrorLevel()
Настройки и методы ExceptionHandler
/** @var Enjoys\ErrorHandler\ExceptionHandler\ExceptionHandler $exceptionHandler */ use Enjoys\ErrorHandler\ExceptionHandler\OutputProcessor\Html; use Enjoys\ErrorHandler\ExceptionHandler\OutputProcessor\Json; use Enjoys\ErrorHandler\ExceptionHandler\OutputProcessor\Xml; use Enjoys\ErrorHandler\ExceptionHandler\View\Html\SimpleHtmlErrorViewVeryVerbose; // Заменяет всю карту сопоставлений outputErrorViewMap $exceptionHandler->setOutputErrorViewMap([ Html::class => SimpleHtmlErrorViewVeryVerbose::class, Json::class => ImplementationOfErrorViewInterface::class ]); // Добавляет или заменяет соответсвующее сопоставление в outputErrorViewMap $exceptionHandler->setOutputErrorView(Xml::class, ImplementationOfErrorViewInterface::class);
Настройки и методы ErrorLogger
/** @var \Enjoys\ErrorHandler\ErrorLogger\ErrorLogger $logger */ // Устанавливает дефолтный уровень лога, используется если не определено иное (по-умолчанию LogLevel::NOTICE) $logger->setDefaultLogLevel(\Psr\Log\LogLevel::INFO); // Переопределяет уровень лога для конкретного типа ошибок $logger->setLogLevel([E_USER_WARNING, E_WARNING], \Psr\Log\LogLevel::NOTICE); // Переопределяет формат сообщений в логах $logger->setLoggerFormatMessage([E_DEPRECATED, E_USER_DEPRECATED], 'Deprecated message: %2$s in %3$s on line %4$s'); // Переопределяет названия каналов, если поддерживается, для конкретного типа ошибок $logger->setLoggerName([E_DEPRECATED, E_USER_DEPRECATED], 'Deprecation'); // Возвращает \Psr\Log\LoggerInterface $logger->getPsrLogger();