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

如何在ASP.NET Core 9中抑制WebSocket的"Response sent"服务器控制台日志?

抑制ASP.NET Core 9中WebSocket Ping-Pong的日志记录

要解决WebSocket ping-pong操作刷屏控制台的问题,只需通过日志过滤规则,将相关类别的日志级别调高,从而屏蔽掉Info级别的ping-pong日志。以下是两种实现方式:

方法一:通过配置文件修改(appsettings.Development.json)

打开开发环境配置文件,在Logging节点下添加针对WebSocket日志类别的过滤规则:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Information",
      // 精准过滤WebSocket相关日志类别
      "Microsoft.AspNetCore.Http.ConnectionMiddleware": "Warning"
    },
    "Console": {
      "LogLevel": {
        "Microsoft.AspNetCore.Http.ConnectionMiddleware": "Warning"
      }
    }
  }
}

该配置将Microsoft.AspNetCore.Http.ConnectionMiddleware类别的日志级别设为Warning,原本Info级别的ping-pong响应日志就不会再输出到控制台。

方法二:通过代码配置(Program.cs)

如果偏好代码方式配置日志过滤,在构建Web应用时添加过滤器:

var builder = WebApplication.CreateBuilder(args);

// 添加日志过滤规则,屏蔽WebSocket ping-pong的Info日志
builder.Logging.AddFilter("Microsoft.AspNetCore.Http.ConnectionMiddleware", LogLevel.Warning);

// 其他服务注册和中间件配置...

var app = builder.Build();

// 中间件管道配置...

app.Run();

说明

上述两种方式核心逻辑一致:WebSocket的ping-pong响应日志属于Microsoft.AspNetCore.Http.ConnectionMiddleware类别的Info级日志,通过将该类别的日志级别调高到Warning及以上,就能抑制这些刷屏日志,同时保留其他重要的服务器活动日志。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:39:57