symfony / monolog-bundle

Symfony Monolog Bundle
symfony.com
MIT License
2.89k stars 230 forks source link

Cannot use the NullHandler with XML configuration #133

Open v1nc3n4 opened 9 years ago

v1nc3n4 commented 9 years ago

Hi,

I'm working on a Symfony 2 application, and I'd like to temporary disable logging. I found that adding the NullHandler on top of the configured handlers shall do the job. Here's my monolog XML configuration:

<monolog:config>
    <monolog:handler name="null_handler" type="null" />
    <monolog:handler name="file_handler" type="stream" level="info" path="%kernel.logs_dir%/%kernel.environment%.log" />
</monolog:config>

However, when I access a web page, this error occured:

InvalidArgumentException in MonologExtension.php line 611:
Invalid handler type "" given for handler "null_handler"

It seems the null type in the XML parameter is treated as a blank string, and I guess there may be an issue in the Configuration class of the bundle. What is your opinion?

Thanks for your help, BR

stof commented 9 years ago

It is not treated as an empty string, but as null

v1nc3n4 commented 9 years ago

Yes indeed.

Seldaek commented 9 years ago

I don't know if we can do much about this, given XML is string only it will always be normalized after..

v1nc3n4 commented 9 years ago

What about changing the key for the NullHandler or renaming it? for instance:

<monolog:config>
    <monolog:handler name="nolog_handler" type="nolog" />
</monolog:config>
Seldaek commented 9 years ago

I'd rather not change it but maybe we can have an alias as workaround for xml.

jaymecd commented 9 years ago

what about BlackHole? faced same issue today.

lyrixx commented 5 years ago

I would go with null_handler to keep the same semantics. Do someone want to submit a PR?

gggeek commented 3 years ago

null_handler is fine with me, but the fact that the handler never bubbles makes it in fact behave more similar to what I'd expect from a "black hole" (see #399 for more about this issue)

gggeek commented 3 years ago

Pr sent: https://github.com/symfony/monolog-bundle/pull/400