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

如何在ASP.NET Core应用中禁用Quartz.Net的Debug级别日志

核心原因

你在Logging节点配置的日志级别是ASP.NET Core内置日志框架的规则,如果你使用Serilog作为日志输出组件,且没有做配置打通,Serilog不会读取该节点的规则,因此Quartz的日志级别限制不生效。

解决方案

根据你的Serilog配置方式选择对应操作即可:

情况1:代码硬编码配置Serilog

直接在Serilog构造逻辑中新增Quartz命名空间的级别覆盖规则:

Log.Logger = new LoggerConfiguration()
    // 你的原有配置
    .MinimumLevel.Override("Quartz", Serilog.Events.LogEventLevel.Warning)
    // 你的原有配置
    .CreateLogger();

情况2:从appsettings.json读取Serilog配置

你需要在Serilog专属配置节点下添加覆盖规则,而非默认的Logging节点,示例配置如下:

"Serilog": {
  "MinimumLevel": {
    "Default": "Information",
    "Override": {
      "System": "Warning",
      "Microsoft": "Warning",
      "Quartz": "Warning"
    }
  },
  // 其余Serilog原有配置,比如WriteTo、Enrich等节点保持不变
}

校验项

如果修改后仍有Debug日志输出,可检查:

  • 确认你已安装Serilog.AspNetCore包,且在Program.cs中用UseSerilog()完成了Serilog和ASP.NET Core日志体系的集成
  • 不要为Quartz单独配置独立的日志工厂,保持默认使用依赖注入的日志实现即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:36:01