NLog ErrorException导致擦除异步日志?

时间:2013-03-18 07:42:08

标签: c# nlog

我不太熟悉NLog,但我们有一些代码可以执行异步日志目标:

try {
  logger.Info(requestMessage, XmlSerialize(request), name);
  SendRequest(request)

} catch (Exception e){
  logger.ErrorException(ex.Message, ex);
}

这基本上序列化了我们即将发布的Web服务请求。

我们遇到过一种情况,即SendRequest方法抛出一个异常(它是一个1分钟的超时承包Web服务),并通过我们的ErrorException调用记录,但序列化的请求永远不会被记录。

我的理论是它与Async日志记录有关吗?也许队列被异常冲刷了?但它在队列中超过一分钟,通常它会被记录,所以我不确定?

有没有人有任何想法?

以下是web.config中的NLog配置:

<nlog autoReload="true" xmlns="http://www.nlog-project.org/schemas/NLog.xsd">
<variable name="logDirectory" value="${basedir}/logs/${shortdate}" />
<targets async="true">
  <target name="ServiceRequestLog" type="File" filename="${logDirectory}/ServiceRequestLog.txt" layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${exception:format=tostring}${newline}" />
</targets>
<rules>
  <logger name="ServiceRequestLog" minlevel="Info" writeTo="ServiceRequestLog" />
</rules>

0 个答案:

没有答案