问题描述
在我的应用程序中,一旦应用程序部署后,就会安排石英作业.我有两个日志文件home-log-search.log和home-log-app.log,均用于特定日志.搜索日志文件仅是为了记录访问者的IP和休息所有日志记录(例外,调试信息)均在App Log File中记录.
我面临的问题是,默认的石英语句正在登录home-log-search.log文件.
如何禁用该记录?将级别设置为 off 无效.我还遵循 disable Quartz logging ,但这也没有帮助.
下面是我的 log4j.properties
# properties file for testing logging service log4j.debug = true # Set root category priority to DEBUG and its only appender to CONSOLE. log4j.rootCategory=INFO, searchLogger log4j.appender.searchLogger=org.apache.log4j.DailyRollingFileAppender log4j.appender.searchLogger.File=${catalina.home}/logs/home-search-log.log log4j.appender.searchLogger.DatePattern='.'yyyy-MM-dd log4j.logger.searchLogger.quartz=OFF, searchLogger log4j.appender.searchLogger.Append=true log4j.appender.searchLogger.layout=org.apache.log4j.PatternLayout log4j.appender.searchLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-4p %m%n log4j.logger.appLogger=DEBUG, appLogger log4j.additivity.appLogger = false log4j.appender.appLogger=org.apache.log4j.RollingFileAppender log4j.appender.appLogger.maxFileSize=5000KB log4j.appender.appLogger.layout=org.apache.log4j.PatternLayout log4j.appender.appLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c : %m%n log4j.appender.appLogger.File=${catalina.home}/logs/home-app-log.log
也是我的工作计划课程
public class SubscriptionNotificationJobScheduler { /** * config bundle */ private static ResourceBundle configBundle = ResourceBundle.getBundle("config"); public SubscriptionNotificationJobScheduler(String path) throws ParseException, SchedulerException{ JobDetail job = new JobDetail(); job.setName(SubscriptionConstants.JOB_NAME); job.setJobClass(SubscriptionNotificationJob.class); JobDataMap map = new JobDataMap(); map.put("contextPath", path); job.setJobDataMap(map); CronTrigger trigger = new CronTrigger(); trigger.setName(SubscriptionConstants.TRIGGER_NAME); trigger.setCronExpression(configBundle.getString("monday.cron.trigger")); //schedule it Scheduler scheduler = new StdSchedulerFactory().getScheduler(); scheduler.start(); scheduler.scheduleJob(job, trigger); } }
推荐答案
您需要禁用石英Java软件包的记录,即org.quartz.*
看起来您与此行进行了错误配置的log4j
log4j.logger.searchLogger.quartz=OFF, searchLogger
相反,它应该阅读
log4j.logger.org.quartz=OFF
问题描述
In my application, quartz job is scheduled as soon as the application is deployed. I have two log files home-log-search.log and home-log-app.log, both for specific logging. Search log file is only to log the visitor's IP and rest all logging (exception, debug info) are logged in App log file.
The problem which i am facing is, the default Quartz statements are getting logged in home-log-search.log file which is not required.
How can i disable that logging? Setting level to OFF doesn't worked. I also followed disable quartz logging but that also didn't helped.
Below is my log4j.properties
# properties file for testing logging service log4j.debug = true # Set root category priority to DEBUG and its only appender to CONSOLE. log4j.rootCategory=INFO, searchLogger log4j.appender.searchLogger=org.apache.log4j.DailyRollingFileAppender log4j.appender.searchLogger.File=${catalina.home}/logs/home-search-log.log log4j.appender.searchLogger.DatePattern='.'yyyy-MM-dd log4j.logger.searchLogger.quartz=OFF, searchLogger log4j.appender.searchLogger.Append=true log4j.appender.searchLogger.layout=org.apache.log4j.PatternLayout log4j.appender.searchLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-4p %m%n log4j.logger.appLogger=DEBUG, appLogger log4j.additivity.appLogger = false log4j.appender.appLogger=org.apache.log4j.RollingFileAppender log4j.appender.appLogger.maxFileSize=5000KB log4j.appender.appLogger.layout=org.apache.log4j.PatternLayout log4j.appender.appLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c : %m%n log4j.appender.appLogger.File=${catalina.home}/logs/home-app-log.log
Also below is my job scheduling class
public class SubscriptionNotificationJobScheduler { /** * config bundle */ private static ResourceBundle configBundle = ResourceBundle.getBundle("config"); public SubscriptionNotificationJobScheduler(String path) throws ParseException, SchedulerException{ JobDetail job = new JobDetail(); job.setName(SubscriptionConstants.JOB_NAME); job.setJobClass(SubscriptionNotificationJob.class); JobDataMap map = new JobDataMap(); map.put("contextPath", path); job.setJobDataMap(map); CronTrigger trigger = new CronTrigger(); trigger.setName(SubscriptionConstants.TRIGGER_NAME); trigger.setCronExpression(configBundle.getString("monday.cron.trigger")); //schedule it Scheduler scheduler = new StdSchedulerFactory().getScheduler(); scheduler.start(); scheduler.scheduleJob(job, trigger); } }
推荐答案
You need to disable logging for the quartz java package, that is org.quartz.*
It looks as though you have misconfigured log4j with this line
log4j.logger.searchLogger.quartz=OFF, searchLogger
Instead it should read
log4j.logger.org.quartz=OFF