Pythonロギングで2回表示されるログメッセージ

| | | | | | | | |

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つをコメントアウトしましたが、それでも同じです。ちょっと変な感じですが、なぜこれが起こっているのかわかりません...笑。明らかな何かを見逃したと仮定します。

乾杯、ビクター