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

如何配置Serilog避免记录HttpMessageHandler清理日志?

解决HttpClientFactory清理日志过多的问题

那些Starting/Ending HttpMessageHandler cleanup cycle日志属于Microsoft.Extensions.Http.DefaultHttpClientFactory类别的Debug级别日志。你当前的配置仅将该类别的最低日志级别设为Information,但全局Serilog最低级别为Debug,且Microsoft的Override规则优先级逻辑导致冗余日志未被过滤。

需要调整配置,将Microsoft.Extensions.Http.DefaultHttpClientFactory的日志级别直接设为Warning(或更高级别如Error),即可彻底过滤这些Debug级别的冗余日志:

{
  "Serilog": {
    "MinimumLevel": "Debug",
    "Override": {
      "Microsoft": "Information",
      "Microsoft.Extensions.Http.DefaultHttpClientFactory": "Warning"
    },
    "WriteTo": [
      {
        "Name": "MSSqlServer",
        "Args": {
          "connectionString": "Server=myerver",
          "tableName": "mytable"
        }
      }
    ]
  }
}

补充说明

  • Serilog的Override配置遵循精确匹配优先原则,针对具体类别的级别设置会覆盖父级(如Microsoft)的规则。
  • 将级别设为Warning既可以屏蔽冗余的清理日志,又不会影响该类别的重要日志(如HttpClient创建异常等Error级别日志)。
  • 若需要更精准的控制,也可在代码中通过Serilog的Filter功能直接排除特定日志模板:
    // 代码中配置示例
    .Filter.ByExcluding(logEvent => 
      logEvent.MessageTemplate.Text.Contains("HttpMessageHandler cleanup cycle"))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 18:52:36