dotkernel/dot-errorhandler

Logging Error Handler for Middleware Applications

Maintainers

👁 dotkernel

Package info

github.com/dotkernel/dot-errorhandler

pkg:composer/dotkernel/dot-errorhandler

Statistics

Installs: 52 882

Dependents: 5

Suggesters: 0

Stars: 5

Open Issues: 3

4.4.2 2025-11-13 16:14 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 3f5c5beb9103a6609bb9d495058660592629d465

  • Dotkernel Team <team.woop@dotkernel.com>

errorerror_logerrorhandler


README

dot-errorhandler is Dotkernel's PSR-15 compliant error handler.

Version History

Branch Release PSR-11 Log Style Implementation OSS Lifecycle PHP Version
4.1 >= 4.2 2 PSR-Log 👁 OSS Lifecycle
👁 PHP from Packagist (specify version)
4.1 < 4.2 2 Laminas Log 👁 OSS Lifecycle
👁 PHP from Packagist (specify version)
4.0 < 4.1 1 Laminas Log 👁 OSS Lifecycle
👁 PHP from Packagist (specify version)
3.0 < 4.0 1 Laminas Log 👁 OSS Lifecycle
👁 PHP from Packagist (specify version)

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-errorhandler/

Badges

👁 OSS Lifecycle
👁 PHP from Packagist (specify version)

👁 GitHub issues
👁 GitHub forks
👁 GitHub stars
👁 GitHub license

👁 Build Static
👁 codecov
👁 PHPStan

Adding the error handler

  • Add the composer package:
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

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 errors
  • Dot\ErrorHandler\ErrorHandler: for displaying errors only

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:

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.