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

本文关键字:日志 文件 启用 禁用 NLog | 更新日期: 2023-09-27 18:09:22

我有两个记录器:一个用于Info消息,另一个用于其他消息。

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

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

你可以使用过滤。

例子
<rules>
    <logger name="*" writeTo="file">
        <filters>
            <when condition="${logger}==loggername" action="Ignore" />
        </filters>
    </logger>
</rules>

参见NLog wiki上的过滤和${logger}布局渲染器

提示:不确定日志记录器的(完整)名称是什么?只要用${logger}记录一些东西,然后检查日志。