2

EventLog に書き込み、クエリを実行できることはわかっています。アプリに接続されているすべての警告メッセージとエラー メッセージを照会して送信するメニュー項目をユーザーが選択できる機能を実装したいと考えています。

これらはすべて、C# とイベント ログを使用して実行できます。log4netでも同じことが可能ですか? 明らかに、log4Net を使用して警告メッセージとエラー メッセージをログに記録できますが、log4Net の「データベース」にクエリを実行できますか? それとも、ログメッセージは保存されていませんか?

4

3 に答える 3

2

log4net で異なるファイル アペンダを使用して、異なるログ ファイルに書き込むことを選択できます。現在、コードのアクティビティをログに記録できるように、エラー用に 1 つ、トレース ログ用に 1 つ持っています。

これを実装する方法の例については、このリンクを確認してください - http://geekswithblogs.net/ontheledge/archive/2009/09/23/logging-with-log4net.aspx

また、テキスト ログ ファイルを解析する場合は、エラー コードの log4net ファイルの解析に関するこの古い StackOverflow の質問を参照してください - .NET でプログラムによってログ ファイルを解析する

于 2012-06-09T22:42:28.670 に答える
1

Log4net では、ログの書き込み方法についていくつかのオプションがあります。それらがテキスト ファイルの場合は、それらを解析してデータを送信できます (明らかに、テキスト ファイルに対してクエリを実行することはできません)。

ただし、log4net を使用してイベント ログにログを記録できるため、クエリ用にイベント ログの実装を保持し、log4net を使用してそこにログを記録することができます。

編集:次のリンクには、ログに記録できるさまざまなもののリストがあります。データベースにログインできます。メニュー オプションを完全に削除し、すべてのログ出力をサーバーに送り返すだけにする場合は、出力をリモート ログに送信することもできます。http://logging.apache.org/log4net/release/features.html

テキスト ファイルと Windows イベント ログへのログ記録には、log4net のみを使用しました。どちらも簡単で簡単でした。私はそれをお勧めします。

于 2012-06-09T21:57:12.150 に答える
1

代わりに、データベース テーブルにログを記録するように log4net を設定できます。その後、他のデータベース オブジェクトと同じようにクエリを実行できます。

http://logging.apache.org/log4net/release/config-examples.html

于 2012-06-09T22:32:07.200 に答える