我在Tomcat应用程序上实现了不同的Quartz作业,我想根据每个作业显示的输出更改日志文件中的类显示。目前,我的日志文件中有以下内容:
2022-10-20 11:35:49 DefaultQuartzScheduler_Worker-2 DEBUG DBA:251 - start getAllA
2022-10-20 11:35:49 DefaultQuartzScheduler_Worker-2 DEBUG DBA:299 - end getAllA
意味着对于每个Scheduled Worker,主类是DefaultQuartzScheduler_Worker-X,我需要更改它。
下面是Quartz Scheduler的声明:
try {
Scheduler scheduler1 = StdSchedulerFactory.getDefaultScheduler();
JobDetail job1 = JobBuilder.newJob(DB.class)
.withIdentity("DB", "MyApp")
.build();
Trigger trigger1 = TriggerBuilder.newTrigger()
.withIdentity("DBTrigger", "MyApp")
.withSchedule(SimpleScheduleBuilder.repeatMinutelyForever(5))
.build();
scheduler1.scheduleJob(job1, trigger1);
scheduler1.startDelayed(120);
} catch (SchedulerException e) {
e.printStackTrace();
log.error("error in scheduler: "+e.toString());
}
我希望使用TAG类“DB”使日志更明显,但我使用了“DefaultQuartzScheduler_Worker-2”,我尝试使用不同的标识,但它不会更改Log4j中的输出日志。
你知道我该怎么做吗?
1条答案
按热度按时间huwehgph1#
我终于回答了我自己的“有点愚蠢”的问题......我使用了Log4j的模式,包括%t
在我的例子中,我不需要这个Thread信息,所以我使用下面的Pattern:
在我的日志中更清楚了...但是我认为通过使用withIdentity方法,我正在更新ThreadName...