logging with logging.config.fileConfig

Herman sorsorday at gmail.com
Sun Feb 19 21:23:21 CET 2012


I tried to use file to config my logger and I got a weird situation
that each message is outputted twice...
Here is my scenario:
python: 2.6

file abc_logging.conf:

[loggers]
keys=root,abc

[handlers]
keys=consoleHandler

[formatters]
keys=detailFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler

[logger_abc]
level=DEBUG
handlers=consoleHandler
qualname=abc

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=detailFormatter
args=(sys.stdout,)

[formatter_detailFormatter]
format=%(asctime)-15s %(levelname)s: %(filename)s:%(lineno)s: %(message)s
datefmt=%Y-%m-%d %H:%M:%S


Then in my program, i config the file with this:

SCRIPT_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
logging.config.fileConfig(SCRIPT_DIR + os.path.sep + 'abc_logging.conf')
LOG = logging.getLogger('abc')


I tried to print out the logger handlers with this:
 print("*"*10)
 print("number of handlers: %s" % len(LOG.handlers))
 print(LOG.handlers)
 LOG.debug(sql)

But there is no suspicious behavior:

**********
number of handlers: 1
[<logging.StreamHandler instance at 0xf23518>]
2012-02-19 12:21:56 DEBUG: abc.py:88: SELECT ...
2012-02-19 12:21:56 DEBUG: abc.py:88: SELECT ...



More information about the Python-list mailing list