我在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的影响-“记录器与接收器最小值之间的差异-重要的是要意识到记录级别只能提高水槽,而不是降低。”过滤器的效率较低,因为创建了日志消息然后对其进行了过滤。