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

如何在ASP.NET 6.0中过滤HTTP日志,排除健康检查请求

解决ASP.NET 6.0中过滤健康检查HTTP日志的问题

方法一:在HTTP Logging配置中直接排除指定路径

通过配置HttpLoggingOptions的RequestPredicate,让HTTP Logging中间件直接忽略健康检查路径的请求,从根源上避免生成这类日志。

修改你的服务注册代码:

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHttpLogging(options =>
{
    options.LoggingFields = HttpLoggingFields.All;
    // 排除健康检查路径/hc的请求日志
    options.RequestPredicate = context => !context.Request.Path.StartsWithSegments("/hc");
});
builder.Services.AddHealthChecks();
// ...
var app = builder.Build();
app.UseHttpLogging();
app.MapHealthChecks("/hc");
// ...

方法二:通过日志过滤规则隐藏指定日志

如果需要更灵活的过滤逻辑(比如仅排除健康检查的成功日志、保留异常日志),可以在配置文件中添加日志过滤规则,针对HTTP Logging的日志类别做定向过滤。

在appsettings.json中添加以下配置:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
    },
    "Filters": [
      {
        "ProviderName": "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware",
        "Filter": {
          "Name": "RequestPath",
          "Value": "/hc"
        },
        "LogLevel": "None"
      }
    ]
  }
}

这种方式无需修改代码,仅通过配置就能让日志系统忽略所有路径为/hc的HTTP日志。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:17:49