Nar*_*kha 6 c# exception-handling nlog
当我用NLog 2.0.1捕获异常时,我正在寻找一种记录表达消息的方法
try {
....
}
catch(Exception ex) {
logger.ErrorException("Error with query {0}", query, ex);
}
Run Code Online (Sandbox Code Playgroud)
但是NLog不支持它.发生在我身上的其他形式是
logger.ErrorException( String.Format("Error with query {0}", query)) , ex);
Run Code Online (Sandbox Code Playgroud)
要么
logger.Error("Error with query {0} {1} {2}", query, ex.Message, ex.StackTrace);
Run Code Online (Sandbox Code Playgroud)
要么
logger.Error("Error with query {0}", query);
logger.ErrorException("", ex);
Run Code Online (Sandbox Code Playgroud)
要么
LogEventInfo ei = new LogEventInfo(LogLevel.Error, logger.Name, null,
"Error with query {0}", new object[] { query }, ex);
logger.Log(ei);
Run Code Online (Sandbox Code Playgroud)
但是没有一个像调用那样简单.logger.Error ()
目前,第一个选项是我的偏好,尽管格式化一个字符串可能不会被使用:
还有一些?
更新,
从NLog 4.0开始,这是可能的
logger.Error(ex, "Error with query {0}", query);
Run Code Online (Sandbox Code Playgroud)
没有其他覆盖。你运气不好。
你的第二个例子看起来不错。
当我查看 Visual Studio 时,Error()有 42 个不同的签名
ErrorException()只有一个。
从以下链接您可以看到这一点:(单击“Error”和“ErrorException”链接)
http://nlog-project.org/documentation/v2.0.1/html/AllMembers_T_NLog_Logger.htm
| 归档时间: |
|
| 查看次数: |
3819 次 |
| 最近记录: |