NLog:禁用/启用多个日志文件

时间:2015-08-24 07:54:13

标签: c# logging nlog

我有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");。我也应该修改类记录器吗?

1 个答案:

答案 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}的内容并检查日志。