使用minlevel =“ Error”时,Trace.TraceError不写任何日志

时间:2018-07-18 09:42:20

标签: c# nlog system.diagnostics

我正在尝试使用diagnostics将我所有的NLog输出路由到文件。

下面是我的diagnostics配置,

<system.diagnostics>
<trace autoflush="true" indentsize="4">
  <listeners>
    <add name="Test" type="NLog.NLogTraceListener, NLog" />
    <remove name="Default" />
  </listeners>
</trace>

和NLog规则配置,

<logger name="*" minlevel="Error" writeTo="logfile" />

C#代码

System.Diagnostics.Trace.TraceError("test");

如果我将规则minlevel="Error"更改为minlevel="Trace",则输出正在写入。

设置为minlevel="Error"的问题,为什么不写?

1 个答案:

答案 0 :(得分:1)

日志可能未写在错误级别,

您可以使用${level}登录记录日志的级别,

例如

<target type="file" name="logfile" layout="${level} ${message} ${exception}">

<logger name="*" minlevel="Trace" writeTo="logfile" />