阻止 Quartz.NET 记录 JobExecutionException

Preventing Quartz.NET from logging JobExecutionException

我已经实现了一个 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: 

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

Log4net 示例(xml 配置):

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