Grégoire Pineau
Contributed by Grégoire Pineau in #42244

In Symfony applications, logging is available either via Symfony's built-in logger and or via the Monolog logger and its tight integration with Symfony. When using Monolog you can access to features such as excluding certain HTTP codes from logs and logging messages to different files.

In Symfony 5.4 we've improved the logger with a new feature to make exceptions configurable per class. Using the new framework.exceptions option you can now define the log level and the HTTP status of the exceptions associated to a certain class:

1
2
3
4
5
6
7
8
9
# config/packages/framework.yaml
framework:
    exceptions:
        Symfony\Component\HttpKernel\Exception\BadRequestHttpException:
            log_level: debug
            status_code: 422
        App\Something\Exception\SomeException:
            log_level: alert
            status_code: 503

Although this example uses the YAML config format, this feature is also available when using XML or PHP as the config format.

Published in #Living on the edge