当我在 Python 2.6 下运行以下代码时
import logging
from logging.handlers import RotatingFileHandler
rfh = RotatingFileHandler("testing.log", delay=True)
logging.getLogger().addHandler(rfh)
logging.warning("Boo!")
然后最后一行抛出AttributeError: RotatingFileHandler instance has no attribute 'level'
. 所以我添加了这一行
rfh.setLevel(logging.DEBUG)
在调用 to 之前addHandler
,然后最后一行抛出AttributeError: RotatingFileHandler instance has no attribute 'filters'
. 因此,如果我手动将过滤器设置为空列表,那么它会抱怨没有属性lock
等。
当我删除以将其保留为此处记录delay=True
的默认值时,问题就完全消失了。False
我错过了什么吗?如何正确使用类的delay
参数RotatingFileHandler
?
编辑:经过进一步分析(在下面我自己的答案中提出),这看起来像一个错误,但我在Python 错误跟踪器中找不到关于此的错误报告,即使尝试不同的搜索词,所以我想我会报告它。
但是,如果有人可以找到实际的错误报告,那么我可以避免提交重复报告并浪费 Python 开发人员的时间。我将推迟几个小时报告这个错误,如果有人发布了一个包含当前错误报告的答案,那么我会接受这个问题的答案。