Skip to content

Commit

Permalink
Merge pull request #724 from odan/fix-custom-error-handler
Browse files Browse the repository at this point in the history
Fix ErrorMiddleware custom handler signature #598
  • Loading branch information
odan committed Jul 9, 2024
2 parents 331d3ad + 30abf11 commit 83ee3aa
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions docs/v4/middleware/error-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ You can now map custom handlers for any type of Exception or Throwable.
```php
<?php

use Monolog\Handler\RotatingFileHandler;
use Monolog\Logger;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Log\LoggerInterface;
use Slim\Factory\AppFactory;
Expand All @@ -61,15 +63,18 @@ $app = AppFactory::create();
// Add Routing Middleware
$app->addRoutingMiddleware();

// Optional: Define custom error logger
$logger = new Logger('error');
$logger->pushHandler(new RotatingFileHandler('error.log'));

// Define Custom Error Handler
$customErrorHandler = function (
ServerRequestInterface $request,
Throwable $exception,
bool $displayErrorDetails,
bool $logErrors,
bool $logErrorDetails,
?LoggerInterface $logger = null
) use ($app) {
bool $logErrorDetails
) use ($app, $logger) {
if ($logger) {
$logger->error($exception->getMessage());
}
Expand All @@ -85,7 +90,7 @@ $customErrorHandler = function (
};

// Add Error Middleware
$errorMiddleware = $app->addErrorMiddleware(true, true, true);
$errorMiddleware = $app->addErrorMiddleware(true, true, true, $logger);
$errorMiddleware->setDefaultErrorHandler($customErrorHandler);

// ...
Expand Down

0 comments on commit 83ee3aa

Please sign in to comment.