【问题标题】:Quartz.Net How To Log MisfireQuartz.Net 如何记录失火
【发布时间】:2014-09-05 19:10:05
【问题描述】:

我正在使用 Quartz.Net,我们经常在开发和上线期间看到失败。虽然这不是问题,但我们希望启用某种跟踪,以便在开发中可以看到何时发生失火。

是否有任何我们可以为此目的挂钩的事件?理想情况下,我追求的是......

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

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

【问题讨论】:

    标签: quartz.net


    【解决方案1】:

    您可以使用触发侦听器来处理此问题,请参阅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 ());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      • 2019-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多