dot-errorhandler is Dotkernel's PSR-15 compliant error handler.
Documentation is available at: https://docs.dotkernel.org/dot-errorhandler/
- Add the composer package:
composer require dotkernel/dot-errorhandler- Add the config provider:
- in
config/config.phpadd\Dot\ErrorHandler\ConfigProvider - in
config/pipeline.phpadd\Dot\ErrorHandler\ErrorHandlerInterface::class- the interface is used as an alias to keep all error handling related configurations in one file
- in
If you need other error handlers, you should place them before dot-errorhandler in the pipeline; else it will not be able to catch errors. We recommend using just one error handler unless you have an error-specific handler.
- Configure the error handler as shown below.
In config/autoload/error-handling.global.php:
<?php
use Dot\ErrorHandler\ErrorHandlerInterface;
use Dot\ErrorHandler\LogErrorHandler;
return [
'dependencies' => [
'aliases' => [
ErrorHandlerInterface::class => LogErrorHandler::class,
],
],
'dot-errorhandler' => [
'loggerEnabled' => true,
'logger' => 'dot-log.default_logger',
]
];A configuration example for the default logger can be found in config/log.global.php.dist.
When configuring the error handler in your application, you can choose between two classes:
Dot\ErrorHandler\LogErrorHandler: for logging and displaying errorsDot\ErrorHandler\ErrorHandler: for displaying errors only
Both
LogErrorHandlerandErrorHandlerhave factories declared in the package'sConfigProvider. If you need a custom ErrorHandler, it must have a factory declared in the config, as in the below example:
Example:
<?php
declare(strict_types=1);
return [
'dependencies' => [
'factories' => [
\App\CustomErrorHandler::class => \App\CustomHandlerFactory::class,
],
'aliases' => [
\Dot\ErrorHandler\ErrorHandlerInterface::class => \App\CustomErrorHandler::class,
],
],
'dot-errorhandler' => [
'loggerEnabled' => true,
'logger' => 'dot-log.default_logger',
],
];Config examples can be found in this project's config directory.