gpt4 book ai didi

c# - 如何修复过时的 ILoggerFactory 方法?

转载 作者:IT王子 更新时间:2023-10-29 04:13:38 25 4
gpt4 key购买 nike

我将我的项目升级到 .NET Core 2.2.x 并收到关于以下代码的过时警告 - 两行:

public void Configure(IApplicationBuilder app, 
IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));

修复的建议是 推荐的替代方法是 AddConsole(此 ILoggingBuilder 生成器)。我以为这就是我正在使用的。

我在这里错过了什么?

最佳答案

我今天遇到了同样的问题。

从 Startup.cs 中删除您的日志记录配置并转到您的 Program.cs 文件并添加如下内容:

var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
logging.AddDebug();
})
.Build();

这使用了“构建器”,因为变量“logging”是一个 IloggingBuilder(而您的代码仍在使用 ILoggerFactory)

更新:我刚刚尝试的另一种方法是留在 Startup.cs 中,但将日志记录从“Configure”方法移动到“ConfigureServices”,如下所示:

public void ConfigureServices(IServiceCollection services)
{
services.AddLogging(loggingBuilder =>
{
loggingBuilder.AddConfiguration(Configuration.GetSection("Logging"));
loggingBuilder.AddConsole();
loggingBuilder.AddDebug();
});
}

也许可以减少 Program.cs 的污染...

关于c# - 如何修复过时的 ILoggerFactory 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53840298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com