1
1
How to Add extra Data to Log Messages via a Processor
2
2
=====================================================
3
3
4
- Monolog allows you to process the record before logging it to add some
5
- extra data. A processor can be applied for the whole handler stack or
6
- only for a specific handler.
4
+ ` Monolog `_ allows you to process every record before logging it by adding some
5
+ extra data. This is the role of a processor, which can be applied for the whole
6
+ handler stack or only for a specific handler or channel .
7
7
8
8
A processor is a callable receiving the record as its first argument.
9
9
Processors are configured using the ``monolog.processor `` DIC tag. See the
@@ -30,6 +30,7 @@ using a processor::
30
30
$this->session = $session;
31
31
}
32
32
33
+ // this method is called for each log record; optimize it to not hurt performance
33
34
public function __invoke(array $record)
34
35
{
35
36
if (!$this->session->isStarted()) {
@@ -184,6 +185,11 @@ Symfony's MonologBridge provides processors that can be registered inside your a
184
185
The ``RouteProcessor `` and the ``ConsoleCommandProcessor `` were introduced
185
186
in Symfony 4.3.
186
187
188
+ .. seealso ::
189
+
190
+ Check out the `built-in Monolog processors `_ to learn more about how to
191
+ create these processors.
192
+
187
193
Registering Processors per Handler
188
194
----------------------------------
189
195
@@ -271,3 +277,6 @@ the ``monolog.processor`` tag:
271
277
$container
272
278
->register(SessionRequestProcessor::class)
273
279
->addTag('monolog.processor', ['channel' => 'main']);
280
+
281
+ .. _`Monolog` : https://github.com/Seldaek/monolog
282
+ .. _`built-in Monolog processors` : https://github.com/Seldaek/monolog/tree/master/src/Monolog/Processor
0 commit comments