[C#][Quartz]添加监听器
namespace Quartz.Listener { public class SchedulerListener : SchedulerListenerSupport { private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name); public override void JobAdded(IJobDetail jobDetail) { log.DebugFormat("JobAdded.Group.{0}.Name.{1}.Description.{2}", jobDetail.Key.Group, jobDetail.Key.Name, jobDetail.Description); base.JobAdded(jobDetail); } public override void JobDeleted(JobKey jobKey) { log.DebugFormat("JobDeleted.Group.{0}.Name.{1}", jobKey.Group, jobKey.Name); base.JobDeleted(jobKey); } public override void JobPaused(JobKey jobKey) { log.DebugFormat("JobPaused.Group.{0}.Name.{1}", jobKey.Group, jobKey.Name); base.JobPaused(jobKey); } public override void JobResumed(JobKey jobKey) { log.DebugFormat("JobResumed.Group.{0}.Name.{1}", jobKey.Group, jobKey.Name); base.JobResumed(jobKey); } public override void JobScheduled(ITrigger trigger) { log.DebugFormat("JobScheduled.TriggerGroup.{0}.TriggerName.{1}.JobGroup.{2}.JobName.{3}", trigger.Key.Group, trigger.Key.Name, trigger.JobKey.Group, trigger.JobKey.Name); base.JobScheduled(trigger); } public override void JobsPaused(string jobGroup) { log.DebugFormat("JobsPaused.Group.{0}", jobGroup); base.JobsPaused(jobGroup); } public override void JobsResumed(string jobGroup) { log.DebugFormat("JobsResumed.Group.{0}", jobGroup); base.JobsResumed(jobGroup); } public override void JobUnscheduled(TriggerKey triggerKey) { log.DebugFormat("JobUnscheduled.TriggerGroup.{0}.TriggerName.{1}", triggerKey.Group, triggerKey.Name); base.JobUnscheduled(triggerKey); } public override void SchedulerError(string msg, SchedulerException cause) { log.ErrorFormat("SchedulerError.msg.{0}.cause.Message.{1}.cause.Source.{2}.cause.StackTrace.{3}.InnerException.Message.{4}", msg, cause.Message, cause.Source, cause.StackTrace, cause.InnerException.Message); base.SchedulerError(msg, cause); } public override void SchedulerInStandbyMode() { log.Warn("SchedulerInStandbyMode"); base.SchedulerInStandbyMode(); } public override void SchedulerShutdown() { log.Warn("SchedulerShutdown"); base.SchedulerShutdown(); } public override void SchedulerShuttingdown() { log.Warn("SchedulerShuttingdown"); base.SchedulerShuttingdown(); } public override void SchedulerStarted() { log.Warn("SchedulerStarted"); base.SchedulerStarted(); } public override void SchedulingDataCleared() { log.Warn("SchedulingDataCleared"); base.SchedulingDataCleared(); } public override void TriggerFinalized(ITrigger trigger) { log.DebugFormat("TriggerFinalized.TriggerGroup.{0}.TriggerName.{1}.JobGroup.{2}.JobName.{3}", trigger.Key.Group, trigger.Key.Name, trigger.JobKey.Group, trigger.JobKey.Name); base.TriggerFinalized(trigger); } public override void TriggerPaused(TriggerKey triggerKey) { log.DebugFormat("TriggerPaused.TriggerGroup.{0}.TriggerName.{1}", triggerKey.Group, triggerKey.Name); base.TriggerPaused(triggerKey); } public override void TriggerResumed(TriggerKey triggerKey) { log.DebugFormat("TriggerResumed.TriggerGroup.{0}.TriggerName.{1}", triggerKey.Group, triggerKey.Name); base.TriggerResumed(triggerKey); } public override void TriggersPaused(string triggerGroup) { log.DebugFormat("TriggersPaused.Group.{0}", triggerGroup); base.TriggersPaused(triggerGroup); } public override void TriggersResumed(string triggerGroup) { log.DebugFormat("TriggersResumed.Group.{0}", triggerGroup); base.TriggersResumed(triggerGroup); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2017-05-25 [转][Java]Maven使用阿里云镜像
2017-05-25 [转][Java]语法规范