Trace.TraceError 使用 minlevel="Error" 时不写入任何日志

Trace.TraceError not writing any log while using minlevel="Error"

我正在尝试使用 NLog.

将所有 diagnostics 输出路由到一个文件

下面是我的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",为什么这个不写?

日志可能没有写在错误级别,

您可以使用${level}

来记录日志记录的级别

例如

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

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