我有2个记录器:一个用于信息消息,另一个用于其他记录器。
<logger name="ErrLogger" levels="Trace,Debug,Warn,Fatal,Error" writeTo="logfile_w" />
<logger name="InfoLogger" level="Info" writeTo="logfile_i" />
每个人都将信息写入自己的档案。 是否可以在运行时关闭和打开某些记录器?
顺便说一句,对于每个班级我都使用这样的代码:
private static Logger _logger = LogManager.GetCurrentClassLogger();
然后在函数中我使用_logger.Info("message");
。我也应该修改类记录器吗?
答案 0 :(得分:1)
您可以使用过滤。
实施例
<rules>
<logger name="*" writeTo="file">
<filters>
<when condition="${logger}==loggername" action="Ignore" />
</filters>
</logger>
</rules>
请参阅filtering on NLog wiki和${logger}
layout renderer。
提示:不确定记录器的(完整)名称是什么?只需记录${logger}
的内容并检查日志。