2011-02-09 7 views
2

JavaのLog4jとPythonのロギングモジュールによって生成されたログを通してたくさんのgreppingを行います。両方とも、改行文字を含むスタックトレースを作成し、ログエントリが複数の行にまたがるようにします。これにより、grepで見つけにくくなり、従来のログファイルフォーマットルール(1行に1つのエントリ)に違反します。grep-friendlyスタックトレースのログ

スタックトレースで興味深いものが見つかった場合は、ログファイル全体(非常に大きい可能性があります)を開き、見つかったgrep行を参照してから、スクロールしてログエントリの先頭を見つけなければなりません。これはkludgeyを感じる。

これを処理するより良い方法はありますか?おそらくスタックトレースから改行文字を何らかの形で取り除くのでしょうか?

ありがとうございました!

+0

ログ形式を再設定できますか? –

+0

自分で試したことはありませんでしたが、Javaの場合はこのプログラムを使用することもできます:http://logging.apache.org/chainsaw/ – Zarathustra

答えて

0

あなたがGNUのgrepのを持っている場合は、-C(AKA --context)スイッチを使用することができます

-CNUM= --context NUM出力の
印刷NUMラインをコンテキスト。 の連続したマッチのグループを含む行を配置します。

-CがPOSIX grepの一部であるかどうかわかりませんが、それは価値があります。

+0

これは私が探していたものではありませんが、利用可能な最良のオプションだと思います。ありがとう。 –

-1
grep 'your expressing and file name' | less 

これは小さなスタックを最初に示します。次に入力して詳細を確認します。

また、「頭部」や、ファイル名の「尾」

tail -1000 'filename' 

これが最後(尾)、そのファイルから1000行を示して行うことができます。

関連する問題