覆盖一种情况的Serilog最低级别

时间:2019-06-27 14:00:18

标签: serilog

我在Web API Core应用程序中使用Serilog。

我已将最低级别设置为Warning

但是有一种情况我想记录Information级消息。 具体来说,我想将HttpRequests记录到v1/health端点。

这些消息的来源是Microsoft.AspNetCore.Hosting.Internal.WebHost

我已经尝试过了,但是我仍然从许多来源获得信息级别的日志。

Log.Logger = new LoggerConfiguration()
      .MinimumLevel.ControlledBy(LevelSwitch) //set to information
      .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
      .MinimumLevel.Override("System", LogEventLevel.Warning)
      .MinimumLevel.Override("MyNamespace", LogEventLevel.Warning)
      .MinimumLevel.Override("Microsoft.AspNetCore.Hosting.Internal.WebHost", LogEventLevel.Information)

我也尝试过使用过滤器,但是它对我不起作用,也许我受到this的影响-“记录器与接收器最小值之间的差异-重要的是要意识到记录级别只能提高水槽,而不是降低。”过滤器的效率较低,因为创建了日志消息然后对其进行了过滤。

0 个答案:

没有答案