c# - 在 ASP.NET Core 应用程序中禁用 Quartz.Net 的调试日志记录
问题描述
将 Quartz.Net 3.1.3 与使用 Serilog 的 ASP.NET Core 应用程序一起使用,我正在尝试禁用 Quartz 的调试日志记录,因为它会在生产环境中发送垃圾邮件。
我在以下设置appsettings.json
:
"Logging": {
"LogLevel": {
"System": "Warning",
"Microsoft": "Warning",
"MyCompanyNameSpace": "Information",
"Quartz": "Warning"
}
},
但我仍然可以看到正在记录:
2021-11-02 09:49:34.025 +02:00 [DBG] Calling Execute on job MyCompany.SyncJobGroup.SyncJobA
2021-11-02 09:49:34.154 +02:00 [DBG] Trigger instruction : DeleteTrigger
2021-11-02 09:49:34.154 +02:00 [DBG] Deleting trigger
我怎样才能禁用它?
解决方案
解决方案有两个部分:
1. appsettings.json 中缺少以下 Serilog 配置,以定义 Quartz 的正确日志记录级别:
https://groups.google.com/forum/#!topic/quartznet/Cjco_Ob9yrM
"MinimumLevel": {
"Default": "Debug",
"Override": {
"Microsoft": "Warning",
"System": "Warning",
"Quartz": "Warning"
}
},
“Quartz”的配置:“Warning”禁止记录调试“批量获取”消息。
和
2 - 完全不需要调用 SerilogLogger.Reconfigure 和 SerilogLogger.RefineConfiguration 方法。我删除了这个。它正在覆盖上面第 1) 点的配置。所有 Serilog 配置都应该在我的 appsettings 中进行。
推荐阅读
- weka - 如何应用 PCA 但保留原始属性?
- r - 如何为因子 x 轴构建带有渐变填充和顶部点/线的 geom_tile/rect 框?
- python - 如何在 tkinter 中设置 PanedWindow 内的默认帧大小?
- android - 使用 Progressive Web App,我可以检索手机的电话号码吗
- javascript - 不调用 WebRTC ontrack
- django - Django 验证并登录到您自己的网站
- vb.net - 可以为接口设置属性,但不能为从接口继承的对象设置属性(语音 API)
- javascript - 如何编写一个返回对象所有值的数组的函数
- php - 如何获取带有偏移量和限制的predis数据?
- javascript - 如何在 Javascript 中获取 SalesForce 选项列表依赖映射