classification
Title: No logging when two loggers with same qualname
Type: behavior Stage:
Components: Library (Lib), Windows Versions: Python 2.5
process
Status: closed Resolution: invalid
Dependencies: Superseder:
Assigned To: Nosy List: cristiroma, vinay.sajip (2)
Priority: normal Keywords

Created on 2009-10-21 12:50 by cristiroma, last changed 2009-10-21 17:03 by vinay.sajip.

Files
File name Uploaded Description Edit Remove
logging.cristiroma.config cristiroma, 2009-10-21 12:50 logging config file
Messages (2)
msg94310 - (view) Author: Cristian Romanescu (cristiroma) Date: 2009-10-21 12:50
Hello, everyone. I think I have found a bug in the python logging module
when configured via fileConfig

Scenario 1:
When using the configuration file attached to this ticket and test case
below, there should be logging in three places: 
* console (info and error)
* 'butterfly.log' (info and error)
* 'butterfly-error (error)

In third no output is ever written.

Scenario 2:
Another odd thing is that when using
keys=root,errorLogger,normalLogger - root and normalLogger works
correct, errorLogger not,
but if I use keys=root,normalLogger,errorLogger - root and errorLogger
works fine, normalLogger not. So there is a link between order of logger
definition?

Scenarion 3:
If I change to one of the loggers qualname=butterfly.test then both
loggers works fine.

Platform: Windows XP + SP2
Python: 2.5.4

Test case:
import logging
from logging import config

config.fileConfig('logging.cristiroma.config')
log = logging.getLogger('butterfly.test')
log.info('info')
log.error('error')

Output:

Console:
  2009-10-21 15:38:48 INFO butterfly.test info
  2009-10-21 15:38:48 ERROR butterfly.test error

butterfly.log:
  2009-10-21 15:40:32 INFO butterfly.test test.py:<module>:7 info
  2009-10-21 15:40:32 ERROR butterfly.test test.py:<module>:8 error

butterfly-error.log:
  Nothing

P.S. This is my first bug submission, tried to google about it. Please
don't shoot.

Regards,
Cristian.
msg94313 - (view) Author: Vinay Sajip (vinay.sajip) Date: 2009-10-21 17:03
You have made a mistake in your configuration. You only have one logger,
named "butterfly", but this wrongly appears twice in your configuration.

Remove the errorLogger key and section entirely, then add errorHandler
to the handlers of normalLogger. Because the errorFileHandler has a
level of ERROR, only ERRORS and greater will be written to the error file.

Tested with changed file on Python 2.5.2 under Windows, performs as
expected. Closing this issue.
History
Date User Action Args
2009-10-21 17:03:47vinay.sajipsetstatus: open -> closed
resolution: invalid
messages: + msg94313
2009-10-21 15:20:44r.david.murraysetpriority: normal
nosy: + vinay.sajip
2009-10-21 12:50:20cristiromacreate