错误异常消息的 NLog 参数
本文关键字:NLog 参数 消息 异常 错误 | 更新日期: 2023-09-27 18:31:32
>我正在寻找一种在 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 ()
那么简单目前,第一个选项是我的青睐,尽管格式化一个可能不会使用的字符串:
- 第二个选项不使用例外的布局选项。
- 第三个在日志中创建两个条目,可能会令人困惑。
- 第四种选择就不那么清楚了。
还有更多吗?
更新,
这是可能的,因为NLog 4.0
logger.Error(ex, "Error with query {0}", query);
查看新闻帖子 - 一致记录异常
没有其他覆盖。 你倒霉了。
你的第二个例子看起来不错。
当我在Visual Studio中查看时,Error()
有42个不同的签名
ErrorException()
只有一个。
从以下链接中,您可以看到这一点:(单击"错误"和"错误异常"链接)
http://nlog-project.org/documentation/v2.0.1/html/AllMembers_T_NLog_Logger.htm