Quartz.Net如何记录失火

时间:2014-09-04 15:35:04

标签: quartz.net

我正在使用Quartz.Net,我们经常在开发和现场看到失火。虽然这不是问题,但我们希望启用某种跟踪,因此在开发过程中可以看到何时发生失火。

我们可以为此目的加入任何事件吗?理想情况下,我喜欢...... ...

var factory = new StdSchedulerFactory();
var scheduler = factory.GetScheduler();
scheduler.Start();

scheduler.OnMisfire += (e) => {
    Console.Out.WriteLine(e);
}

1 个答案:

答案 0 :(得分:3)

您可以使用触发器侦听器来处理此问题,请参阅Lesson 7: TriggerListeners and JobListeners

您可以使用history plugin作为参考来构建自己的日志记录。

实施例

class MisfireLogger : TriggerListenerSupport
{
    private readonly ILog log = LogManager.GetLogger (typeof (MisfireLogger));

    public override void TriggerMisfired (ITrigger trigger)
    {
        log.WarnFormat("Trigger {0} misfired", trigger.Key);
    }
}

scheduler.ListenerManager.AddTriggerListener (new MisfireLogger ());