ファイルにインポートされた外部モジュールからでも、すべての出力をリダイレクトします。pythonのログ出力を標準出力ではなくファイルにリダイレクトする方法はありますか?
sys.stdout = open('logfile', 'a')
外部ファイルによって行われたログのジョブがstdoutにエコーされません。
私は外部モジュールのソースコードを試してきましたが、Pythonの「ロギング」モジュールに深く編み込まれており、出力に依存しています。
また、>演算子を使用してストリームリダイレクトを使用したくありません。
sysstdout = sys.stdout
log_file = open("your_log_file.txt","w")
sys.stdout = log_file
print("this will be written to message.log")
sys.stdout = sysstdout
log_file.close()
をそれとも、正しいことを行うと、正しくPython's logging moduleを使用します。
いいえ、インポートされた外部モジュールをリダイレクトしません。外部モジュールは、独自の方法で動作するようです。 –