https://github.com/dotkernel/dot-errorhandler
Logging Error Handler for DotKernel
https://github.com/dotkernel/dot-errorhandler
dotkernel error-handler
Last synced: about 2 months ago
JSON representation
Logging Error Handler for DotKernel
- Host: GitHub
- URL: https://github.com/dotkernel/dot-errorhandler
- Owner: dotkernel
- License: mit
- Created: 2018-11-12T13:15:46.000Z (over 6 years ago)
- Default Branch: 4.1
- Last Pushed: 2025-03-04T10:52:28.000Z (4 months ago)
- Last Synced: 2025-04-24T08:43:36.922Z (2 months ago)
- Topics: dotkernel, error-handler
- Language: PHP
- Homepage: https://docs.dotkernel.org/dot-errorhandler/
- Size: 163 KB
- Stars: 5
- Watchers: 5
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# dot-errorhandler
dot-errorhandler is Dotkernel's PSR-15 compliant error handler.
## Documentation
Documentation is available at: https://docs.dotkernel.org/dot-errorhandler/
## Badges

[](https://github.com/dotkernel/dot-errorhandler/issues)
[](https://github.com/dotkernel/dot-errorhandler/network)
[](https://github.com/dotkernel/dot-errorhandler/stargazers)
[](https://github.com/dotkernel/dot-errorhandler/blob/4.1/LICENSE)[](https://github.com/dotkernel/dot-errorhandler/actions/workflows/continuous-integration.yml)
[](https://codecov.io/gh/dotkernel/dot-errorhandler)
[](https://github.com/dotkernel/dot-errorhandler/actions/workflows/static-analysis.yml)## Adding the error handler
- Add the composer package:
```shell
composer require dotkernel/dot-errorhandler
```- Add the config provider:
- in `config/config.php` add `\Dot\ErrorHandler\ConfigProvider`
- in `config/pipeline.php` add `\Dot\ErrorHandler\ErrorHandlerInterface::class`
- the interface is used as an alias to keep all error handling related configurations in one file
- **IMPORTANT NOTE** there should be no other error handlers after this one (only before) because the other error handler will catch the error causing dot-errorhandler not to catch any error, 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
[
'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 declaring the `ErrorHandlerInterface` alias you can choose whether to log or not:
- for logging use `LogErrorHandler`
- for the simple Zend Expressive handler user `ErrorHandler`The class `Dot\ErrorHandler\ErrorHandler` is the same as the Zend Expressive error handling class the only difference being the removal of the `final` statement for making extension possible.
The class `Dot\ErrorHandler\LogErrorHandler` is `Dot\ErrorHandler\ErrorHandler` with added logging support.
As a note: both `LogErrorHandler` and `ErrorHandler` have factories declared in the package's `ConfigProvider`.
If you need a custom ErrorHandler it must have a factory declared in the config, as in the below example:```php
[
'factories' => [
MyErrorHandler::class => MyCustomHandlerFactory::class,
],
'aliases' => [
ErrorHandlerInterface::class => MyErrorHandler::class,
]],
'dot-errorhandler' => [
'loggerEnabled' => true,
'logger' => 'dot-log.default_logger'
]
];
```Config examples can be found in this project's `config` directory.