NLog 2.0.1 で例外をキャッチしたときに、表現力豊かなメッセージをログに記録する方法を探しています。
try {
....
}
catch(Exception ex) {
logger.ErrorException("Error with query {0}", query, ex);
}
しかし、NLog はそれをサポートしていません。私に起こった他の形は
logger.ErrorException( String.Format("Error with query {0}", query)) , ex);
また
logger.Error("Error with query {0} {1} {2}", query, ex.Message, ex.StackTrace);
また
logger.Error("Error with query {0}", query);
logger.ErrorException("", ex);
また
LogEventInfo ei = new LogEventInfo(LogLevel.Error, logger.Name, null,
"Error with query {0}", new object[] { query }, ex);
logger.Log(ei);
しかしlogger.Error ()
、使用されない可能性のある文字列をフォーマットするにもかかわらず、現時点では最初のオプションが私のお気に入りです。
- 2 番目のオプションは、例外のレイアウト オプションを使用しません。
- 3 番目は、ログに 2 つのエントリを作成し、混乱を招く可能性があります。
- 4 番目のオプションはあまり明確ではありません。
もう少しありますか?