【问题标题】:Preventing Quartz.NET from logging JobExecutionException防止 Quartz.NET 记录 JobExecutionException
【发布时间】:2016-03-24 23:36:39
【问题描述】:

我已经实现了一个 Quartz.NET 调度程序,它是使用标准方法从quartz.config 初始化的,即

    _schedulerFactory = new StdSchedulerFactory();
    _scheduler = _schedulerFactory.GetScheduler();

我的理解是开箱即用 Quartz 不会记录任何内容,除非您明确连接 Job 或 Trigger 侦听器,但是我得到了很多日志记录,特别是当我抛出 JobExecutionException 时,我收到以下 INFO 消息其中包括内部异常的完整堆栈跟踪。我不希望这样,因为我自己在 JobListener 中处理异常并且只想记录实际异常(我正在抛出 FileNotFound 异常,并且 JobListener 将在稍后重新安排,所以不想将其记录为错误)

如何防止 JobRunShell 记录日志?

2016-03-17 12:31:33,677 JobSchedulerService_Worker-1 INFO  JobRunShell                    Run                    Job Jobs.TestJob threw a JobExecutionException: 

【问题讨论】:

  • 你使用什么日志框架?
  • 好吧,那你就有答案了……

标签: c# quartz-scheduler quartz.net


【解决方案1】:

由于 Quartz.NET 使用 Common.Logging 抽象,您必须对其进行配置以使用您选择的日志框架,从 Quartz 禁用日志的最佳方法是在您的日志框架配置中。

Log4net 示例(xml 配置):

<logger name="Quartz">
   <level value="OFF" />
</logger>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多