stderr outとstdoutを再定義して、ロギングモジュールを使用してファイルを個別にログする方法はありますか?たとえば、stderr.logおよびstdout.logファイルはありますか?stderr outとstdoutを別々のログに再定義する方法は?
2
A
答えて
7
あなたは、単にカスタムファイルのようなオブジェクトでsys.stdout
とsys.stderr
を置き換えることができます。
import sys
sys.stdout = open('stdout.log', 'a')
sys.stderr = open('stderr.log', 'a')
を元に戻すには:
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__
詳細については、sys
module documentationをお読みください。
1
import sys
class OutDevice():
def write(self, s):
# do whatever
pass
class ErrDevice():
def write(self, s):
# do whatever
pass
sys.stdout = OutDevice()
sys.stdout = ErrDevice()
# to restore
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__
関連する問題
- 1. DOSでstdoutとstderrを別のファイルにリダイレクトする方法は?
- 2. stderrとstdoutを別々のファイルに入れます
- 3. 子プロセスstdout/stderrをJavaのメインプロセスstdout/stderrにリダイレクトする方法は?
- 4. stdout、stderr、および両方を3つの別々のファイルに保存する
- 5. ksh stdoutとstderrを別のプロセスにリダイレクト
- 6. bashがログにSTDOUT + STDERR、通常の宛先にSTDERRが必要
- 7. Pythonログをstdoutとstderrに分割する
- 8. bashでstdout/stderrをどのように再定義できますか?
- 9. stdout、stderrを/ dev/ttyに戻す方法
- 10. リダイレクトstdoutとstderr
- 11. ABAP StdoutとStderr
- 12. タートルの別のコマンドの標準入力にstdout/stderrをパイプする方法は?
- 13. stdoutとstderrのログがどこにあるbashスクリプトで検出するには?
- 14. フラスコ内のロガーファイルにstdoutとstderrを追加する方法
- 15. プログラムが起動されたときのstdoutとstderrのログ
- 16. リアルタイムでRuntime.execでstdoutとstderrを取得する方法は?
- 17. STDOUTとSTDERRを変数にリダイレクトする方法
- 18. pythonでサブプロセスstdoutとstderrのサイズを制限する方法
- 19. Bash:出力をstderrとstdoutの両方に送り、別のコマンドにパイプする方法は?
- 20. ログとコミットディスクを別々にセットアップする方法
- 21. Filebeat/ELKの異なるログ用に別々のインデックスを定義する方法は?
- 22. Typescript:定義を別々のファイルに分割する方法
- 23. stdoutストリームとstderrストリームをリダイレクトする方法(マルチプラットフォーム)
- 24. Gulpでstdoutとstderr child_processを使用する方法
- 25. popen stderrとstdoutをパイプ
- 26. Capybara統合テストでstdoutまたはstderrにアクセスする方法
- 27. stderrとstdoutをbashの同じ行にある別のファイルにリダイレクトする方法は?
- 28. pythonのサブプロセスstderrとstdoutを複数のファイルにリダイレクトする方法は?
- 29. STDOUTとApacheログファイルの両方にApacheログをリダイレクトする方法
- 30. stdout、stderr、stdout + stderrを同期して保存します
ファイルに 'sys.stdout'、' sys.stderr'をリダイレクトしたいのですか? 'logging'モジュールの助けを借りてメッセージをファイルに出力したいですか? – jfs