Pythonロギングを使用していますが、何らかの理由で、すべてのメッセージが2回表示されます。
ロギングを構成するモジュールがあります:
#BUG :ログメッセージを2回出力します-理由はわかりません-伝播設定ではありません。defconfigure_logging(self、logging_file):self.logger = logging.getLogger( "my_logger")self.logger.setLevel(logging.DEBUG )self.logger.propagate = 0#ログラインのフォーマットformatter = logging.Formatter( "%(asctime)s-%(name)s-%(levelname)s-%(message)s")#コンソールロギングchを設定します= logging.StreamHandler()ch.setLevel(logging.DEBUG)ch.setFormatter(formatter)self.logger.addHandler(ch)#ファイルロギングも設定しますfh = logging.FileHandler(LOG_FILENAME)fh.setLevel(logging.DEBUG) fh.setFormatter(formatter)self.logger.addHandler(fh)
後で、このメソッドを呼び出してロギングを構成します。
if __name__ == "__main __":tom = Boy()tom.configure_logging(LOG_FILENAME)tom.buy_ham()
そして、たとえば、 Buy_hamモジュールの場合、次のように呼び出します。
self.logger.info( "Successfully to write to%s"%path)
And for何らかの理由で、すべてのメッセージが2回表示されています。ストリームハンドラーの1つをコメントアウトしましたが、それでも同じです。ちょっと変な感じですが、なぜこれが起こっているのかわかりません...笑。明らかな何かを見逃したと仮定します。
乾杯、ビクター