【发布时间】:2012-01-05 21:31:57
【问题描述】:
我已经使用python logging 模块有一段时间了,但是最近在测试与旧python版本的兼容性时遇到了一些麻烦:
Traceback (most recent call last):
File "hunter.py", line 16, in <module>
logging.config.fileConfig("logging.conf")
File "/usr/lib/python2.5/logging/config.py", line 85, in fileConfig
_install_loggers(cp, handlers)
File "/usr/lib/python2.5/logging/config.py", line 229, in _install_loggers
logger.addHandler(handlers[string.strip(hand)])
KeyError: 'hunterFileHandler'
使用以下配置文件(仅重要部分):
[loggers]
keys=root,hunter
[handlers]
keys=consoleHandler, hunterFileHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_hunter]
level=DEBUG
handlers=consoleHandler, hunterFileHandler
qualname=hunter
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[handler_hunterFileHandler]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=simpleFormatter
args=("logs/hunter.log", "a", 0, 10,)
[formatter_simpleFormatter]
format=%(asctime)s:[%(name)s][%(levelname)5s] %(message)s
datefmt=
有没有一种简单的方法可以使配置向后兼容而无需复制大部分配置?
【问题讨论】:
-
看起来这个question可能对您的问题有用。