首页新闻找找看学习计划

Nlog暂时还没有.netcore3.0版本的发布

0
悬赏园豆:10 [已解决问题] 解决于 2019-10-04 18:33

由于项目中一直都是用的 Nlog来记录项目日志,项目升级.netcore3.0后,发现Nlog还没有3.0版本的包。

问题补充:

现在解决的方法是在IWebHostBuild里面,调用UseNlog();
在Startup.cs的Configure中,添加代码:
loggerFactory.AddNLog();
NLog.Web.NLogBuilder.ConfigureNLog("NLog.config");

Code_Song的主页 Code_Song | 初学一级 | 园豆:88
提问于:2019-10-04 12:17
< >
分享
最佳答案
0
  1. 安装 nuget 包 NLog.Extensions.Logging
<ItemGroup>
  <PackageReference Include="NLog.Extensions.Logging" Version="1.5.4" />
</ItemGroup>
  1. 在 Program 中通过 ILoggingBuilder.AddNLog() 扩展方法进行配置
using NLog.Extensions.Logging;

namespace Q120413
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>()
                        .ConfigureLogging(logging => logging.AddNLog());
                });
    }
}
收获园豆:10
dudu | 高人七级 |园豆:41311 | 2019-10-04 16:38

@dudu,刚刚看了一下Nlog.Extension.Logging的源码,测试了一下,用扩展方法.UseNLog()也可以
//.ConfigureLogging(logging => logging.AddNLog())
.UseNLog()

Code_Song | 园豆:88 (初学一级) | 2019-10-04 21:30

@Code_Song: 赞!.UseNLog() 是更简单的方法。

dudu | 园豆:41311 (高人七级) | 2019-10-05 10:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册