升级到ASP.NET Core 2.0后,Web API控制台中的重复信息消息

问题描述:

我通过非常少量的代码更改将Web API项目从ASP.NET Core 1.x升级到ASP.NET Core 2.0。升级到ASP.NET Core 2.0后,Web API控制台中的重复信息消息

当运行WebAPI时,命令提示符像正常一样打开。

但是,每一条信息都是重复的。

这是一个ASP.NET核心错误还是这是我升级后的问题?

UPDATE:

我是做在Startup.cs配置方法如下:

loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
    loggerFactory.AddDebug(); 

当我删除它有没有重复。这不再需要吗?

+0

这听起来像是你的错误。 WebHost.CreateDefaultBuilder设置了一些默认日志记录,所以你可能再次自己添加相同的日志记录系统。 –

+0

@Kirk好点,让我仔细检查。 –

+0

@Kirk请参阅我的更新。 –

WebHost.CreateDefaultBuilder为您设置了许多传统东西,以便为每个单独的ASP.NET Core 2项目(如在ASP.NET Core 1.x中)保存相同的代码。

您可以看到WebHost.CreateDefaultBuilder here的代码。对于您的特定情况下,如果你的源代码看起来有点further down,你会看到以下内容:

logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")); 
logging.AddConsole(); 
logging.AddDebug(); 

由于这个原因,您不再需要自己添加该代码。在这样做的时候,它会被添加两次(尽管对我来说这看起来很不寻常),但看起来最终这样做了两次。

如果你想更详细地了解这些变化,Andrew Lock有一个很好的write-up它如何工作。他还深入了解如何重写这些默认设置等的一些细节。请注意,这篇文章基于ASP.NET Core 2预览版1,但从此以后似乎没有多大变化。