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

使用Serilog时如何禁用ASP.NET的控制台日志输出?

如何让ASP.NET完全静默,阻止指定日志输出

你当前的Serilog配置没有精准覆盖目标日志源的级别,导致那些info级别的JwtBearer和请求结束日志仍然输出。可以通过以下方式解决:

修改Serilog配置(appsettings.json)

在MinimumLevel.Override中添加具体的日志源,将其级别设为None,彻底禁止该源的所有日志输出:

"Serilog": {
  "MinimumLevel": {
    "Default": "Verbose",
    "Microsoft": "Error",
    "Override": {
      "Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler": "None",
      "Microsoft.AspNetCore.Hosting.Diagnostics": "None",
      "Microsoft": "Error"
    }
  },
  "WriteTo": [
    {
      "Name": "Console",
      "outputTemplate": "{Timestamp:G}[{Level:u3}] ** {Message} ** ({SourceContext}) {NewLine:1}{Exception:1}"
    }
  ]
}

关键说明

  • None是Serilog的最高过滤级别,设置后该日志源的所有日志都会被彻底屏蔽。
  • 配置中的SourceContext必须和日志行里的标识完全匹配(即你提供的日志里info:后面的组件名称)。

确认Serilog加载配置

确保在Program.cs中正确让Serilog读取配置文件:

var builder = WebApplication.CreateBuilder(args);

// 加载Serilog配置
builder.Host.UseSerilog((context, config) => 
    config.ReadFrom.Configuration(context.Configuration));

// 后续中间件配置...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 09:42:16