Когда я запускаю следующий код под 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)
перед вызовом addHandler
, а затем в последней строке выдается AttributeError: RotatingFileHandler instance has no attribute 'filters'
. Поэтому, если я вручную устанавливаю фильтры для пустого списка, он жалуется на отсутствие атрибута lock
и т. Д.
Когда я удаляю delay=True
, чтобы оставить его в качестве значения по умолчанию False
, как описано здесь , проблема полностью исчезает.
Я что-то упустил? Как правильно использовать параметр delay
класса RotatingFileHandler
?
РЕДАКТИРОВАТЬ: После дальнейшего анализа (представлен в моем собственном ответе ниже), это похоже на ошибку, но я не могу найти отчет об ошибке в Python bug tracker , даже пытаясь использовать разные условия поиска, так что, думаю, я сообщу об этом.
Тем не менее, если кто-то сможет найти фактический отчет об ошибке, тогда я могу избежать отправки дублирующего отчета и тратить время разработчиков Python. Я не буду сообщать об ошибке в течение нескольких часов, и если кто-то отправит ответ с текущим отчетом об ошибке, я приму этот ответ на этот вопрос.