【发布时间】:2018-03-03 19:48:23
【问题描述】:
我正在使用 Kestrel 和 .NET Core 2 来提供 Web API 应用程序。
我想隐藏在控制台窗口中显示时发生的异常。
【问题讨论】:
标签: asp.net-core-2.0 kestrel-http-server asp.net-core-logging
我正在使用 Kestrel 和 .NET Core 2 来提供 Web API 应用程序。
我想隐藏在控制台窗口中显示时发生的异常。
【问题讨论】:
标签: asp.net-core-2.0 kestrel-http-server asp.net-core-logging
尝试内置Log filtering 机制。
您可以为特定提供商和类别或所有提供商或所有类别指定最低日志级别。任何低于最低级别的日志都不会传递给该提供程序,因此它们不会被显示或存储。
此类日志的类别名称应为Microsoft.AspNetCore.Server.Kestrel。过滤规则可以通过AddFilterILoggingBuilder的扩展方法在代码中注册:
// using Microsoft.Extensions.Logging.Console;
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging(logging =>
...
logging.AddFilter<ConsoleLoggerProvider>(
"Microsoft.AspNetCore.Server.Kestrel",
LogLevel.Critical))
.Build();
【讨论】: