【问题标题】:How to setup Nlog and Autofac .Net Core app如何设置 Nlog 和 Autofac .Net Core 应用程序
【发布时间】:2020-08-11 17:54:00
【问题描述】:

我有一个这样的项目结构的解决方案。这是一个 .Net Core 应用,前面使用了 Razor 页面。

Frontend
|
|
BusinessLogic
|
|
DataAccess

我的目标是将 NLog 用户用作记录器。而且我的AF失败了。 我在 Fronted 项目中使用了这个 sn-p:

var host = Host.CreateDefaultBuilder(args)
            .UseServiceProviderFactory(new AutofacServiceProviderFactory())
            .ConfigureWebHostDefaults(webHostBuilder =>
            {
                webHostBuilder
                  .UseContentRoot(Directory.GetCurrentDirectory())
                  .UseIISIntegration()
                  .UseStartup<Startup>()
                  .ConfigureLogging(logging =>
                  {
                      logging.ClearProviders();
                      logging.SetMinimumLevel(LogLevel.Information);
                  })
                .UseNLog();

            })
            .Build();

但是位于业务逻辑中的服务需要注入 Nlog ILogger。而且我不断收到异常

DependencyResolutionException:在类型 >'BusinessLogic.Services.ApplicationService' 上使用 >'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' 找到的任何构造函数都不能使用可用的 >services 和参数调用:无法解析参数'AutoFac。 Extras.NLog.DotNetCore.ILogger 记录器'

如您所见,我尝试使用 AutoFac.Extras.NLog.DotNetCore 但没有帮助。我真的很困惑如何使用 .net 核心应用程序正确设置 Nlog。

【问题讨论】:

    标签: c# asp.net-core autofac nlog


    【解决方案1】:

    如果你这样做会发生什么:

    var host = Host.CreateDefaultBuilder(args)
            .UseServiceProviderFactory(new AutofacServiceProviderFactory())
            .ConfigureWebHostDefaults(webHostBuilder =>
            {
                webHostBuilder
                  .UseContentRoot(Directory.GetCurrentDirectory())
                  .UseIISIntegration()
                  .UseStartup<Startup>();
            })
            .ConfigureLogging(logging =>
            {
                logging.ClearProviders();
                logging.SetMinimumLevel(LogLevel.Trace);
            })
            .UseNLog()
            .Build();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 1970-01-01
      相关资源
      最近更新 更多