首页 > 解决方案 > 如何将 ILoggerFactory 添加到启动 dotnet core 3.1

问题描述

我正在使用 dotnet core 3.1,我想将 ILoggerFactory 添加到启动构造函数中。

但我收到一个错误:

'尝试激活'启动'时,无法解析类型'Microsoft.Extensions.Logging.ILoggerFactory'的服务。'

我在 Program.cs 中的配置:

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureLogging(logging =>
                {
                    logging.ClearProviders();
                    logging.AddConsole();
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

我应该怎么办?

标签: .net-coreloggerfactory

解决方案


您应该在 HTTP 请求管道中配置日志记录(您的启动配置方法)。

例如。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
     //depending on what you use for logging 
   loggerFactory.AddLog4Net();
     //or
   loggerFactory.CreateLogger...
     ...
}

推荐阅读