2017-10-23 10 views
2

try/catchでloggingステートメントをラップするのは意味がありますか? 私のようにlog4netのを使用しています:例外をスローからlog4netのを防ぐ​​ために(私はその失敗ストップ、まだ知っている)、またはログ・ロジックが例外をスローした場合にクラッシュからアプリケーションを防ぐために、それが作るんLog4Net Log Statementをtry/catchでラップすることはできますか?

LogManager.GetLogger(type).Debug(message, exception) 

try/catchで呼び出しをラップする意味ですか?

try{ 
LogManager.GetLogger(type).Debug(message, exception) 
} catch(Exception e){//Some Logic Here} 

また、excpetionがキャッチされた場合にはcatch節でどうするかについての勧告を探して。

+1

log4netは例外をスローしません。 "何らかの理由でlog4netがキャッチされない例外をスローした場合(ArgumentExceptionとArgumentNullExceptionがスローされる場合を除く)、[email protected]メーリングリストに電子メールを送ってください。**キャッチされていない例外すぐに注意を必要とする深刻なバグとして扱われます** "_ _ – stuartd

答えて

2

Log4netは設計上例外をスローしません。 Log4Netはプログラムの流れと相互作用しないように設計されています。間違ったことは、パラメータの書式設定のバグです。しかし、log4net自体は例外をスローするべきではありません。

log4netのよくある質問は:

信頼できるロギングシステムをlog4netのされていますか?いいえ、log4netは信頼できません。 は、ベストエフォート型のフェイルストップロギングシステムです。フェールストップでは、 は、実行時にlog4netが予期しない例外をスローしないようにします。 によってアプリケーションがクラッシュする可能性があります。何らかの理由で log4netがキャッチされない例外をスローした場合は、 [email protected]メーリングリストに電子メールを送信してください。キャッチされていない例外 は、直ちに注意が必要な深刻なバグとして処理されます。

関連する問題