私のアプリケーションでは、アプリケーションがデプロイされるとすぐに Quartz ジョブがスケジュールされます。と の 2 つのログ ファイルがhome-log-search.log
ありhome-log-app.log
、どちらも特定のログ用です。検索ログ ファイルは訪問者の IP のみを記録し、残りのすべてのログ (例外、デバッグ情報) はアプリ ログ ファイルに記録されます。
私が直面している問題は、デフォルトの Quartz ステートメントがhome-log-search.log
不要なファイルに記録されていることです。
そのログを無効にするにはどうすればよいですか? レベルをオフに設定しても機能しません。また、Quartz ロギングを無効にしましたが、それも役に立ちませんでした。
以下は私の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);
}
}