How to Define a Custom Logging Formatter ======================================== Each logging handler uses a ``Formatter`` to format the record before logging it. All Monolog handlers use an instance of ``Monolog\Formatter\LineFormatter`` by default but you can replace it. Your formatter must implement ``Monolog\Formatter\FormatterInterface``. For example, to use the built-in ``JsonFormatter``, register it as a service then configure your handler to use it: .. configuration-block:: .. code-block:: yaml # config/packages/prod/monolog.yaml (and/or config/packages/dev/monolog.yaml) monolog: handlers: file: type: stream level: debug formatter: 'monolog.formatter.json' .. code-block:: xml .. code-block:: php // config/services.php use Monolog\Formatter\JsonFormatter; // config/packages/prod/monolog.php (and/or config/packages/dev/monolog.php) $container->loadFromExtension('monolog', [ 'handlers' => [ 'file' => [ 'type' => 'stream', 'level' => 'debug', 'formatter' => 'monolog.formatter.json', ], ], ]);