Question

Using Symfon2 and its Monolog framework to for logging, I am having some trouble.

On the one hand, I have a service configured with my own logger. It is working properly and I get to "info" and "err" messages without problems.

services:
  my_logger:
    class: Monolog\Logger
    arguments: [my_info]
    calls:
        - [pushHandler, [@my_log_handler]]

  my_log_handler:
    class: Monolog\Handler\StreamHandler
    arguments: [%kernel.root_dir%/logs/my_info.log, 100]

Using the following in the controller causes proper messages to be written $this->get('my_logger')->info('info message'); $this->get('my_logger')->err('error message');

Here comes my question

Once I have placed planty of those ->err and ->info logging messages, how I tell the configuration to just write those written through the err method?

At the beginning may be I need many information, and for that reason I would write many info messages. But in a while, I may prefer to level up the logging messages through setting the action level to warning or error, avoiding the info logs to be written.

Any idea?

Was it helpful?

Solution

You just need to tweak the level at which your handler is listening. In this case it means changing the 100 to something higher like 400 for errors. So that gives you:

  my_log_handler:
    class: Monolog\Handler\StreamHandler
    arguments: [%kernel.root_dir%/logs/my_info.log, 400]
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top