2011-12-29 4 views
1

私はtailerをPythonの解析ログに使用しますが、サーバ上のLog Rotationが壊れています。代わりにどのような決定を使用できますか? tail -f in popen - Pythonの方法ではありませんpython、tailer、logrotate

+1

のラッパーです、あなたは'テール-F'、ありません 'テール-f'を使用する必要があるでしょう、私のいずれかを使用通知ファイルの回転。 – sarnold

答えて

0

ログローテーション機能を追加するのは難しいことではありません。たとえば、あなたが持っている場合:

次のファイル名の存在を定期的にチェックする関数にコールバックを追加することができます。存在する場合は、ループから抜け出し、新しいファイルで開始します。

0

logrotateのイベントの際に次のことが起こります:

  1. ログファイルのiノードが変更されなかったが、ログを新しい名前に改名された(例えばlog.out.1)
  2. logrotateのは、同じ名前の新しいファイルを作成します(log.out)(私には分かりません:-)

tailerモジュールはまだ古いファイルのinodeを見ます。

ログファイルの正しいinode値を監視する必要があります。 これは 'tail -F'のためのものです。

あなたがそのソースに見ることができるように、テイラーモジュールは、ソースファイルの次logrotationに設計されていません:それはレシピ

http://code.activestate.com/recipes/157035/

に基づいており、あなたの仕事のために役に立たないです。

ソースレシピのコメントをご覧ください。

-

P.S. `-F`意志 - または 'テール-f' :)ちなみに

http://code.activestate.com/recipes/577398-tail-f-with-inode-monitor/

関連する問題