Python 日志在加载 fileConfig 时出现 "KeyError

6 投票
2 回答
13716 浏览
提问于 2025-04-17 10:32

我正在尝试在Python中写日志;我想从一个文件中加载配置,但在调用以下代码后出现了错误:

logging.config.fileConfig('logging.conf')
回溯(最近的调用最后):
文件 "/usr/lib64/python2.4/logging/config.py",第157行,在fileConfig中
log.addHandler(handlers[hand])
KeyError: 'simpleHandler'

我的配置是:

  [loggers]
  keys=root

  [handlers]
  keys=simpleHandler

  [formatters]
  keys=simpleFormatter

  [logger_root]
  level=DEBUG
  handlers=simpleHandler

  [handler_simpleHandler]
  formatter=simpleFormatter
  class=handlers.RotatingFileHandler
  filename=/tmp/test.log
  maxBytes=31457280
  level=DEBUG

  [formatter_simpleFormatter]
  format=%(asctime)s %(levelname)s %(message)s
  datefmt=%Y/%m/%d %H:%M:%S

请帮我找出错误是什么,谢谢。

2 个回答

0

毫无疑问,关键的 'simpleHandler' 在它应该出现的地方缺失了。

我建议你把 handler_foo 的部分放在 handlers 部分之前,看看这样是否能解决问题。如果这样还是不行,那就试着用其他方法给你想要的处理器起个名字。

3

在你的文件处理器中试试这个:

    [handler_simpleHandler]
    formatter=simpleFormatter
    class=handlers.RotatingFileHandler
    maxBytes=31457280
    level=DEBUG
    args=('/tmp/test.log',)

撰写回答