stdout への出力に「Print」を使用する Python スクリプトがあります。最近、Python Logger を介してログを追加しました。ログが有効になっている場合、これらの print ステートメントがロガーに送られるようにしたいと考えています。これらの印刷ステートメントを変更または削除したくありません。
「log.info("some info msg")」を実行してログに記録できます。私はこのようなことができるようにしたい:
if logging_enabled:
sys.stdout=log.info
print("test")
ロギングが有効になっている場合、log.info("test") を行ったかのように "test" がログに記録されます。ロギングが有効になっていない場合は、「test」が画面に出力されるだけです。
これは可能ですか?同様の方法で stdout をファイルに送信できることはわかっています (参照:出力をログ ファイルにリダイレクトする) 。