我正在使用Quartz.Net,我们经常在开发和现场看到失火。虽然这不是问题,但我们希望启用某种跟踪,因此在开发过程中可以看到何时发生失火。
我们可以为此目的加入任何事件吗?理想情况下,我喜欢...... ...
var factory = new StdSchedulerFactory();
var scheduler = factory.GetScheduler();
scheduler.Start();
scheduler.OnMisfire += (e) => {
Console.Out.WriteLine(e);
}
答案 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 ());