删除控制台和调试记录器在ASP.NET 2.0的核心,我们有这个在ASP.NET 2.0的核心时,在生产模式
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
这CreateDefaultBuilder(args)
有许多有用的默认值。然而,它contains this:
.ConfigureLogging((context, logging) => {
logging.AddConfiguration(context.Configuration.GetSection("Logging"));
logging.AddConsole(); // HERE IS THE PROBLEM
logging.AddDebug(); // HERE IS THE PROBLEM
})
所以控制台和调试日志商总是注册。
我用这样的
if (env.IsDevelopment())
{
// register them here
}
注册它们如何删除/注销他们的生产模式下运行时? 我并不是说要改变日志记录级别,我的意思是我不希望它们在生产模式下完全注册。
'CreateDefaultBuilder'创建用于简化设置(聚合大量常见的东西)一个新项目。在最终2.0之前,没有'DefaultBuilder'。我建议你从刚刚链接的源代码中复制代码,然后由你自己修改它,正如我所说的,“CreateDefaultBuilder”只是为了缓解这一步骤。看看它是如何完成的:https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/index#rely-on-application-insights-light-up-features 。问候。 – dime2lo
@ dime2lo我希望我不必那样做。除了生产模式下的日志记录之外,我对默认设置感到满意。肯定有办法撤销这些特定的注册。 – grokky