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

如何通过配置自定义ILogger<T>的日志级别?

解决Serilog下禁用特定ILogger日志的问题

你遇到的问题根源在于:Serilog和微软原生日志配置体系相互独立,你在Logging.LogLevel里设置的规则,Serilog并不会直接应用。要针对ILogger<DataHandledLoggingHandler>禁用日志,得在Serilog的专属配置里做处理,具体方法如下:

方法一:通过Serilog配置节点覆盖级别

在appsettings.Development.json中找到或新增Serilog节点,用MinimumLevel.Override指定目标类的日志级别。注意必须使用完整的命名空间+类名,因为ILogger<T>对应的日志上下文(SourceContext)就是T的完整类型名。

示例配置:

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft.AspNetCore": "Warning",
        "你的命名空间.DataHandledLoggingHandler": "Verbose"
      }
    },
    "WriteTo": [
      { "Name": "Console" },
      { "Name": "Seq", "Args": { "serverUrl": "http://localhost:5341" } }
    ]
  },
  "Logging": {
    "LogLevel": {
        "Default": "Information",
        "Microsoft.AspNetCore": "Warning"
    }
  }
}

Serilog没有None级别,这里用Verbose替代——只要你的日志接收器(Console/Seq)没有开启Verbose级别的接收,该类的日志就会被完全过滤掉。

方法二:通过Serilog Filter直接排除日志

如果要更彻底禁用,还可以用Serilog的过滤规则直接排除该类的所有日志:

在Serilog节点下添加Filters配置:

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft.AspNetCore": "Warning"
      }
    },
    "Filters": [
      {
        "Name": "ByExcluding",
        "Args": {
          "expression": "SourceContext = '你的命名空间.DataHandledLoggingHandler'"
        }
      }
    ],
    "WriteTo": [
      { "Name": "Console" },
      { "Name": "Seq", "Args": { "serverUrl": "http://localhost:5341" } }
    ]
  }
}

这个规则会直接把所有来源上下文为DataHandledLoggingHandler完整类型名的日志排除,不会进入任何接收器。

代码配置方式(如果不用JSON配置)

如果你的Serilog是通过代码初始化的,也可以在Program.cs里直接添加过滤规则:

builder.Host.UseSerilog((context, config) =>
{
    config.ReadFrom.Configuration(context.Configuration)
          // 方法一:覆盖级别
          .MinimumLevel.Override("你的命名空间.DataHandledLoggingHandler", Serilog.Events.LogEventLevel.Verbose)
          // 方法二:直接排除
          .Filter.ByExcluding(evt => evt.SourceContext == "你的命名空间.DataHandledLoggingHandler");
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:20:48