0

重複の可能性:
NLog で例外をログに記録するときにスタック トレースを取得する方法は?

ログから明確な全体像を得るために例外をスローするベスト プラクティスは何ですか?

ロギングには、NLog を使用しています。

以下は簡単なコードです。

catch (Exception ex)
{
    logger.Fatal(ex.Message);
    throw new Exception(ex.Message);
}

適切なログ メッセージが表示されません。関数、エラーコード行などの情報が必要です。

4

2 に答える 2

5

ログインの目的で、例外オブジェクトのメッセージ フィールドだけでなく、さらに多くのことを分析します。

このリンクは、一般的な例外オブジェクトから取得できる情報を提供します

また、 と の間には違いがthrow exありthrowます。さらに、新しく作成された例外をスローすると。

  • あなたのケース ( throw new Exception(ex.Message)) では、例外の性質について何も言わず、このコード行から構築された新しいスタックトレースを持つ一般的な例外をスローしています。
  • throw ex- 元の例外を再スローしますが、スタックトレースを現在の catch 句にカットします

  • throw- 元のスタックトレースを使用して元の例外を再スローし、その他の例外をログに記録してさらに先に進めることができます

したがって、達成しようとしていることに応じて、この 3 つのケースのいずれかがニーズを満たします。

于 2012-10-03T01:36:46.143 に答える
0

例外スローのベスト プラクティスについて詳しくは、 http://msdn.microsoft.com/en-us/library/system.exception_properties.aspxを参照してください。

于 2012-10-03T07:48:59.167 に答える