我对IsTraceEnabled
(也是等效函数IsDebugEnabled
....)的结果有些怀疑。
如果我拨打NLog.LogManager.GetLogger("TEST")
,则会收到意外回复true
<rules>
<!-- add your logging rules here -->
<logger name="TEST" minlevel="Error" writeTo="logfile" final="true"/>
<logger name="*" minlevel="Trace" writeTo="logfile">
<filters>
<when condition="equals('${logger}','System.ServiceModel.MessageLogging')" action="Ignore" />
<when condition="equals('${logger}','XPO')" action="Ignore" />
</filters>
</logger>
</rules>
任何人都知道我做错了什么?
答案 0 :(得分:0)
最终属性与(min)级别规则和名称(过滤器)结合使用。
所以在你的情况下:
<logger name="TEST" minlevel="Error" writeTo="logfile" final="true"/>
如果记录器是&#34; TEST&#34;并且最低级别是错误,然后写入logfile并标记为final。
由于您的logevent被编写为调试,它与第一个规则不匹配,但它与第二个规则匹配。
<logger name="*" minlevel="Trace" writeTo="logfile">
...
</logger>