0

我正在使用带有 .NET Core 2 的 Kestrel 来提供 Web API 应用程序。

我想隐藏在控制台窗口中显示时发生的异常。

4

1 回答 1

3

尝试内置的日志过滤机制。

您可以为特定提供者和类别或所有提供者或所有类别指定最低日志级别。低于最低级别的任何日志都不会传递给该提供者,因此它们不会被显示或存储。

它应该是Microsoft.AspNetCore.Server.Kestrel此类日志的类别名称。过滤规则可以通过AddFilter扩展方法在代码中注册ILoggingBuilder

// using Microsoft.Extensions.Logging.Console;

WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .ConfigureLogging(logging =>
        ...
        logging.AddFilter<ConsoleLoggerProvider>(
                          "Microsoft.AspNetCore.Server.Kestrel",
                          LogLevel.Critical))
    .Build();
于 2018-03-03T21:21:46.910 回答