本文主要介紹.NET Core ILoggerFactory過時(obsolete)問題,項目升級到.NET Core 2.2.x並得到了代碼的過時警告, 提示loggerFactory.AddConsole(Configuration.GetSection(“Logging”));代碼過時,修復建議是The recommended alternative is AddConsole(this ILoggingBuilder builder)。
1、第一種解決方法
刪除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();
2、第二種解決方法
保留在Startup.cs
中,但將日志記錄代碼從"Configure
"方法移動到"ConfigureServices
",如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.AddLogging(loggingBuilder =>
{
loggingBuilder.AddConfiguration(Configuration.GetSection("Logging"));
loggingBuilder.AddConsole();
loggingBuilder.AddDebug();
});
}