NLog日志(二)

NLog

//日志输出
builder.Logging.ClearProviders();
builder.Logging.AddNLog("nlog.config");
配置后默认自动全部输出

需求:自动记录的输出到控制台,手动记录的输出到日志文件
1.配置两个日志记录器  一个控制台,一个日志文件

    <rules>
        <!-- 默认日志记录器(仅控制台输出) -->
        <logger name="*" minlevel="Debug" writeTo="logconsole" />

        <!-- 仅手动调用时才写入文件 -->
        <logger name="ManualFileLogger" minlevel="Debug" writeTo="logfile" />    
    </rules>

 

2.控制器类中
        public readonly ILogger<KnowTypeController> _logger; // 这个是引用NLog包后,注入到容器后,现在这个是从容器里拿的
        private static readonly Logger _fileLogger = LogManager.GetLogger("ManualFileLogger"); // 这个直接从NLog中拿

        //构造函数注入
        public KnowTypeController(IKnowTypeSe knowTypeSe, ILogger<KnowTypeController> logger)
            : base()
        {
            _logger = logger;
        }

    控制器HTTP方法(){
      

        // 这条日志 **仅输出到控制台**
        _logger.LogInformation("这是控制台日志");


        // 这条日志 **仅写入文件**
        _fileLogger.Info("这是手动写入文件的日志");


    }

 

 

posted @ 2025-02-07 23:08  爱晒太阳的懒猫。。  阅读(40)  评论(0)    收藏  举报