【发布时间】:2015-11-09 16:44:58
【问题描述】:
我试图弄清楚为什么 NLog 会记录我的错误两次。
这是我的配置文件:
<nlog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="debug" xsi:type="File" FileName="DebugTestFile.log" layout="${message} ${exception:format=tostring}" />
</targets>
<rules>
<logger name="*" level="Debug" writeTo="debug" />
</rules>
</nlog>
现在当我调用 NLog.Debug(myException); 时,输出是我的异常被打印了两次。
如果我调用NLog.Debug(myException, "My Test Message String");,则错误会与我的测试消息一起打印一次。
我到底做错了什么?根据https://github.com/NLog/NLog/wiki/How-to-Log-Exceptions我的配置是正确的。
我尝试将布局更改为以下内容:layout="${message},当我运行NLog.Debug(myException); 时,它只打印了一次错误。
但是现在当我运行 NLog.Debug(myException, "My Test Message String"); 时,它只打印了我的消息,没有来自异常的错误。
这可能是 NLog 的错误吗?
【问题讨论】:
-
这似乎是设计的。您正在传递一个用于满足两个布局渲染器的参数(您的例外)。
-
@Joe 但是,如果我从配置中删除错误,则在调用异常字符串方法时不会打印出错误。这不可能是正确的,一定是我遗漏了什么或者系统中的错误。
-
@Bagzli 这个问题你解决了吗?
-
不,我没有,我采用了一种解决方法,我打电话给
NLog.Debug(myException, myMessage);,但它没有这样做,我的消息是一个空字符串。
标签: nlog