私はPythonロギングモジュールを使用しており、インポートするサードパーティモジュールによって出力されるログメッセージを無効にしたいとします。例えば、私は次のようなものを使用しています:私はlogger.debug(「!私のメッセージ」)を行う際にPythonロギング - インポートされたモジュールからのロギングを無効にする
logger = logging.getLogger()
logger.setLevel(level=logging.DEBUG)
fh = logging.StreamHandler()
fh_formatter = logging.Formatter('%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) - %(message)s')
fh.setFormatter(fh_formatter)
logger.addHandler(fh)
これは私のデバッグメッセージを出力しますが、それはまた、任意のデバッグメッセージを出力します私がインポートするモジュール(リクエストや他の多くのものなど)
興味のあるモジュールからのログメッセージだけを見たいのですが、これはロギングモジュールをこれにすることは可能ですか?
理想的には、「ModuleX、ModuleY」からのメッセージを印刷し、他のすべてを無視するようにロガーに指示することができます。
私は、次のを見て、しかし、インポート機能へのすべての呼び出しの前に、私は有効/ログを無効にする必要がありますする必要はありません: logging - how to ignore imported module logs?
ロガーを 'logging.basicConfig(...) 'という公式の基本チュートリアルのように設定しようとすると、すべてのロガーが' logging.lastResort'に出力されるようになることに注意してください。ハンドラが指定されていない場合、または設定したハンドラに指定されている場合)。とにかくすべてのログメッセージを取得し続けるでしょう。 – user136036