0

コンソール アプリケーションで使用するEnterprise Library Patterns & Practicesのようなものはありますか? すべてのブロックでSendExceptionMail関数を呼び出すのではなく、例外のログ記録/電子メール通知に使用するものを特に探しています。catch

4

1 に答える 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 に答える