1

さまざまなWebアプリケーションのアプリケーション例外をログに記録するためにlog4netを使用します。現在、のしきい値とのしきい値を使用していRollingLogFileAppenderます。InfoSmtpAppenderWarn

問題は、エラーログエントリをその内容でグループ化する簡単な方法がないことです。私たちが頻繁に目にする特定のエラーと、時々発生する他のエラーがあります。同じエラーの発生を自動的に追跡できるようにする必要があります。

概念的には、これは単純です。たとえば、ログエントリの最後の50文字のパターン一致により、これを実行できるはずです。

誰かがそのようなソリューションを実装しましたか、または誰かがより良いアプローチを推奨できますか?

4

3 に答える 3

1

行を XML としてログに記録するだけです (もちろん、他のフォーマットも機能します)。

これは私たちのやり方です:

<USERID>GUID</USERID><ERRORCODE>INVALID_XML</ERRORCODE><DESCRIPTION>File x is not in correct xml format</DESCRIPTION>

次に、ログ ファイルを解析し、エラーコード、説明、ログレベルの列を含むデータグリッドビューに表示します。次に、たとえば ERRORCODE ですばやく並べ替えまたはフィルター処理できます。

これらの INVALID_XML エントリのデータセットを調べると、これらのエラーがログファイルに存在するかどうかがすぐにわかります。

また、userId を使用すると、クライアントがログイン時に行ったすべての呼び出しも確認できます。

于 2009-04-16T17:30:49.367 に答える
1

別のアペンダー (DBAppender など) を使用して (もちろん、エラーしきい値を使用して)、結果のテーブルを並べ替えることができます。

于 2009-04-16T17:31:07.150 に答える
0

そのような解決策はすぐには存在しないと思います。ただし、カスタム ログ レベルを定義 (または未使用のものの 1 つを選択) して、より一般的なエラーを独自のILogに出力し、「メイン」エラー ログでそれらをフィルター処理して問題なく除外することができます。

于 2009-04-16T17:30:20.337 に答える