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バグトラッカーでこれに関するバグレポートが見つからないため、別の検索用語を試しても報告すると思いますそれ。
しかし、誰かが実際のバグ レポートを見つけることができれば、重複したレポートを送信して Python 開発者の時間を無駄にすることを避けることができます。バグの報告を数時間保留し、誰かが現在のバグ レポートを含む回答を投稿した場合、この質問に対するその回答を受け入れます。