.Net Core Web/Console 下使用Nlog

 .Net Core Console 下使用Nlog

官方介绍:

 https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-(csproj---vs2017)

 部署:  

     Windows 任务计划程序部署时 需要设置启动目录,  否则无法正确解析appsetting.json

    

很重要的三点

1. 设置nlog.config的属性为 Copy Always

2.修改nlog.config后,Clean项目文件,重新编译项目 否则配置不一定是最新的

3.添加引用nlog.config文件

 //添加日志
            var serviceProvider = new ServiceCollection()
                .AddLogging(builder =>
                {
                    builder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
                    builder.AddNLog(new NLogProviderOptions
                    {
                        CaptureMessageTemplates = true,
                        CaptureMessageProperties = true
                    });
                })
                .BuildServiceProvider();

            //添加Nlog配置
            var factory = serviceProvider.GetService<ILoggerFactory>();
            factory.AddNLog();
            LogManager.LoadConfiguration("nlog.config");
            
            var logger = serviceProvider.GetService<ILogger<Program>>();
            logger.LogInformation(" hello .net core console ");

 使用appsetting.json文件

      

原文地址:https://www.cnblogs.com/mailaidedt/p/10538095.html