NLog: disable/enable 多个日志文件
NLog: disable/enable multiple log files
我有 2 个记录器:一个用于信息消息,另一个用于其他消息。
<logger name="ErrLogger" levels="Trace,Debug,Warn,Fatal,Error" writeTo="logfile_w" />
<logger name="InfoLogger" level="Info" writeTo="logfile_i" />
每个人都将信息写入自己的文件。
是否可以在运行时关闭和打开某些记录器?
顺便说一句,对于每个 class 我都使用这样的代码:
private static Logger _logger = LogManager.GetCurrentClassLogger();
然后在函数中我使用 _logger.Info("message");
。我是否也应该修改 class 个记录器?
您可以为此使用过滤。
例子
<rules>
<logger name="*" writeTo="file">
<filters>
<when condition="${logger}==loggername" action="Ignore" />
</filters>
</logger>
</rules>
见filtering on NLog wiki and the ${logger}
layout renderer。
提示:不确定记录器的(全)名是什么?只需使用 ${logger}
记录一些内容并检查日志。
我有 2 个记录器:一个用于信息消息,另一个用于其他消息。
<logger name="ErrLogger" levels="Trace,Debug,Warn,Fatal,Error" writeTo="logfile_w" />
<logger name="InfoLogger" level="Info" writeTo="logfile_i" />
每个人都将信息写入自己的文件。 是否可以在运行时关闭和打开某些记录器?
顺便说一句,对于每个 class 我都使用这样的代码:
private static Logger _logger = LogManager.GetCurrentClassLogger();
然后在函数中我使用 _logger.Info("message");
。我是否也应该修改 class 个记录器?
您可以为此使用过滤。
例子
<rules>
<logger name="*" writeTo="file">
<filters>
<when condition="${logger}==loggername" action="Ignore" />
</filters>
</logger>
</rules>
见filtering on NLog wiki and the ${logger}
layout renderer。
提示:不确定记录器的(全)名是什么?只需使用 ${logger}
记录一些内容并检查日志。