この質問と回答に従って、次の問題の解決策を探しています。
Windows と Linux の両方で実行されるはずの Python プログラムがあります。
私のpythonプロセスは子プロセスを生成し、両方にファイルロガーが必要です。それぞれが独自のログファイルにログインするようにします。
プロセスの作成:
import multiprocessing
multiprocessing.Process(target=my_target, args=(my_args,))
ログの作成:
import logging
logger = logging.getLogger()
fh = logging.FileHandler(log_file, mode="a+")
logger.addHandler(fh)
Windows では問題なく動作しますが、Linux では、子ログと親ログの両方に子出力が書き込まれました。
そのようなシナリオに対処する最善の方法は何ですか?