You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Serilog时无法将HttpClient最低日志级别设置为Warning问题求助

解决方案
  • 首先确认你已经在主机构建逻辑中注册了Serilog作为日志提供程序。仅初始化Log.Logger不会自动接管ASP.NET Core的内置日志输出,需要在CreateHostBuilder方法中添加UseSerilog()调用,示例代码如下:
public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .UseSerilog() // 必须添加该配置项
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });
  • 补充Microsoft.Extensions.Http分类的日志级别覆盖。IHttpClientFactory生成的客户端部分日志归属在该分类下,仅覆盖System.Net.Http.HttpClient会遗漏这部分Info日志,你可以在原有LoggerConfiguration中新增一行配置:
.MinimumLevel.Override("Microsoft.Extensions.Http", LogEventLevel.Warning)
  • 若调整后仍有冗余日志输出,可临时添加以下配置打印所有日志的源分类,确认剩余Info日志的归属分类后补充对应的Override规则即可:
.WriteTo.Logger(lc => lc
    .Filter.ByIncludingOnly(_ => true)
    .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}")
)
  • 排查appsettings.json中的Logging配置是否存在冲突,若项目中存在全局Logging节点配置,内置日志框架可能会优先读取该规则覆盖Serilog的配置,建议移除或同步对应级别的设置。

内容的提问来源于stack exchange,提问作者Roddy Balkan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:54:00