コンソールに記録されているPythonファイルの出力を読み取る

コンソールに記録されているPythonファイルの出力を読み取る

最近、Python のロギング モジュールをいじり始めました。出力がログ ファイルに送信されるようになりました。ここまでは順調です。しかし、Python のさまざまなロギング ファイル ハンドラーを扱わずに、進行中のログを監視できるようにもしたいと思います。また、とにかくシェルにリダイレクトする方法を知るという一般的なアイデアも気に入っています。

python myscript.py foo bar maybepipe somethingしたがって、私が望むのは、シェルから発行し、ログ ファイルが行ごとに作成されるのを確認し、終了してもログ ファイルを保持する方法です。

私は見つけた書き込み中のファイルを読み取るしかし、このケースで提供された回答がどのように当てはまるかわかりません。 誰か何か提案はありますか?

ありがとう!

答え1

まさにあなたが望んでいることではないかもしれませんが、次のコマンドを発行する方が簡単だと思います:

tail -f ログファイル

ログファイルに書き込まれているかどうかを確認します。また、これはログファイルに書き込むが進行状況を視覚的に表示しないすべてのプログラムで機能する一般的な方法です。

答え2

次のようなものを探しているのではないでしょうか

python myscript.py | tee ログファイル 

「|tee logfile」ビットは、出力のコピー(stdout から)を取得し、それをファイル log.file にダンプし、コンソールにも表示します。

関連情報