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} 记录一些内容并检查日志。