我有以下nlog配置。我只是不想记录来自Meazure.Core.SiteContext的任何非错误消息。
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<extensions>
<add assembly="NLog.Targets.GrowlNotify" />
<add assembly="Gelf4NLog.Target" />
</extensions>
<targets>
<target name="file" xsi:type="File" fileName="${basedir}/log.log" layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${exception:format=Type,Message,StackTrace:innerFormat=Type,Message,StackTrace:maxInnerExceptionLevel=10:innerExceptionSeparator=\n\t}" maxArchiveFiles="1" archiveAboveSize="1000000" />
<target name="dev" xsi:type="Console" />
<target name="growl" type="GrowlNotify" host="" password="" />
</targets>
<rules>
<logger name="Meazure.Core.SiteContext" minlevel="Error" writeTo="file" final="true" />
<logger name="*" minlevel="Trace" writeTo="dev" />
<logger name="*" minlevel="Debug" writeTo="file" />
<logger name="*" minLevel="Info" writeTo="growl" />
</rules>
</nlog>不管用了!我仍然在file中收到这样的消息
2016-03-23 15:08:58.0125|DEBUG|Meazure.Core.SiteContext|Closed connection at 2016-03-23 3:08:58 PM -07:00我做错了什么?
发布于 2016-03-25 10:40:32
最后一条规则适用于组合:
因此,具有loggername "Meazure.Core.SiteContext“和minlevel "error”的事件不会进入记录器规则2-4。但是,如果级别是“调试”,它将。
实现这一目标的最佳方法是使用空目标:
新目标:
<target name="null" xsi:type="Null" />规则:
<logger name="Meazure.Core.SiteContext" minlevel="Error" writeTo="file" final="true" />
<logger name="Meazure.Core.SiteContext" writeTo="null" final="true"/>
<logger name="*" minlevel="Trace" writeTo="dev" />
<logger name="*" minlevel="Debug" writeTo="file" />
<logger name="*" minLevel="Info" writeTo="growl" />https://stackoverflow.com/questions/36189672
复制相似问题