.NET 6 Minimal API中使用Serilog禁用无用日志
解决方案
要禁用你提到的三类日志,需要在Serilog配置的MinimumLevel.Override中添加以下配置项:
"Microsoft.AspNetCore.Routing": "None", "Microsoft.EntityFrameworkCore.Infrastructure": "None"
配置说明:
Microsoft.AspNetCore.Routing:对应你看到的Executing endpoint和Executed endpoint日志,设置为None会完全禁用该命名空间下的所有日志输出。Microsoft.EntityFrameworkCore.Infrastructure:对应Entity Framework Core上下文初始化的日志,设置为None即可关闭这类初始化提示。
修改后的完整Override配置段示例:
"Override": { "Microsoft.EntityFrameworkCore.Database.Command": "Error", "Microsoft": "Debug", "Microsoft.Hosting.Lifetime": "Information", "Microsoft.AspNetCore.Hosting.Diagnostics": "Warning", "Microsoft.AspNetCore.Mvc.RazorPages": "Warning", "Microsoft.AspNetCore.Mvc.ViewFeatures": "Warning", "Microsoft.AspNetCore.StaticFiles": "Warning", "Microsoft.EntityFrameworkCore.Migrations": "Warning", "Microsoft.EntityFrameworkCore.Database": "Warning", "Microsoft.AspNetCore.Mvc.Infrastructure": "Warning", "Microsoft.AspNetCore.Routing": "None", "Microsoft.EntityFrameworkCore.Infrastructure": "None" }
如果之后需要临时恢复某些日志,只需将对应命名空间的级别改回合适的值(比如Information)即可。
内容的提问来源于stack exchange,提问作者Kal800
相关产品推荐
相关产品推荐

