2011-05-15 9 views
2

私はC#でWindowsサービスを実装しました。 Windowsサービスで発生する例外に関する情報を登録する最も良い方法は何ですか? EventLogerクラスの使用は良い考えですか?または、私自身のロガーを実装し、例外情報をテキストファイルに書き込む必要があります。Windowsサービスからの例外のログ

何か助けていただければ幸いです。

ありがとうございます。

+0

例外以外にもログを記録し、ログ詳細レベルを外部に変更するオプションが必要です。 (設定ファイルのフラグ?)。あなたはログデータを書いていた - ファイル、Windowsアプリケーションのログ - は、あなた次第です。 – Menahem

答えて

1

です。基本的な2つの質問は、例外をログに記録する理由と例外を誰が見直すのかです。

これらの質問の答えに応じて、例外を記録したくない場合や、状況を修正するために誰かに電子メール/ SMSメッセージを送信したい場合があります。

+0

私は、設定されたフォルダからテンポラリファイルを定期的に削除するWebアプリケーション用の簡単なWindowsサービスを開発しました。ファイルを削除する前に、私は常にファイルが存在するかどうかをチェックしますが、このプロセスでは何らかの例外が発生する可能性があります。私はそれを記録したい。例外をログに記録するのではなく、それは良い考えではないかもしれません。 – aumanets

+0

@aumanets:私には聞こえないか、ログしたくないもののように聞こえます。それは良い家の清掃のようですが、臨界ではありません(時折または頻繁な失敗からの害はありません)。あなたは修正したい例外をログに記録します(または修正のために少なくとも優先順位を付けます)。たとえば、IOExceptionは、ファイルがまだ開いていて、削除の準備ができていないことを示します。ファイルが最終的に削除される限り、おそらく実際に何回試みるかは気にしません。いくつかのバグが修正される必要があることを示しているかもしれませんが、それ自体は重要ではありません。 – jmoreno

3

NBug、またはlog4netまたはNLogのような汎用のロギングライブラリのようなライブラリを処理/例外ロギングを使用するか(あなたがそれを使用する場合、NLogでカスタム例外フィルタを作成する必要があります)。

追加の.dll依存関係が必要ない場合は、System.Diagnostics.Trace & System.Diagnostics.Debugクラスを使用する方がよいでしょう。

関連する問題