コンソール アプリケーションで使用するEnterprise Library Patterns & Practicesのようなものはありますか? すべてのブロックでSendExceptionMail
関数を呼び出すのではなく、例外のログ記録/電子メール通知に使用するものを特に探しています。catch
質問する
144 次
1 に答える
2
私はこの種のことのためにlog4NetConsole.Write()
を使用します。通常、複数のアペンダーを使用して実行可能ファイルを構成し、完全に省略します。私は一般的に(少なくとも)持っています
ColoredConsoleAppender
またはConsoleAppender
コンソールにログインするRollingFileAppender
ログファイルを作成します。
SmtpAppender
イベントを電子メールで送信するには、 を追加するだけです。必要に応じて、他のアペンダーを追加して、Windows イベント ログまたは SQL データベースにログを記録します。
構成例については、 http://logging.apache.org/log4net/release/config-examples.htmlを参照してください。
余談ですが...なぜ複数のcatch
ブロックが必要なのですか? 実際に例外を処理catch
していない限り、何も実行しないでください—ただし、いくつかの例外があります: プロセスまたはマシンの境界が交差するポイントで例外をキャッチし、ログに記録し、継続することをお勧めします。
代わりに、例外が発生するようにします。例外をログに記録する単一catch
のインを用意します。Main()
はるかに簡単です。
于 2013-04-12T17:56:50.917 に答える