log4j 不同功能,同INFO級別,輸出到不同log檔案
阿新 • • 發佈:2021-06-02
配置檔案
log4j.rootLogger=INFO, console, file log4j.rootLogger= FATAL,Console,DayLogFile log4j.logger.com.chaoxing.subject.jobs.SubjectJobFromKafka = INFO log4j.logger.com.chaoxing.subject.jobs.ArticlesChannelToSubjectJob = INFO log4j.appender.Console = org.apache.log4j.ConsoleAppender log4j.appender.Console.layout = org.apache.log4j.SimpleLayout log4j.appender.Console.Threshold = INFO log4j.logger.com.chaoxing.subject.jobs.SubjectJobFromKafka=INFO, SubjectJob log4j.additivity.com.chaoxing.subject.jobs.ArticlesChannelToSubjectJob=false log4j.appender.SubjectJob = org.apache.log4j.DailyRollingFileAppender log4j.appender.SubjectJob.Threshold = INFO log4j.appender.SubjectJob.File = ${catalina.home}/logs/SubjectJobLog.log log4j.appender.SubjectJob.DatePattern = "."yyyy-MM-dd log4j.appender.SubjectJob.layout = org.apache.log4j.PatternLayout log4j.appender.SubjectJob.layout.ConversionPattern = %-5p %d{yyyy-MM-dd HH:mm:ss} %c %m%n log4j.logger.com.chaoxing.subject.jobs.ArticlesChannelToSubjectJob=INFO, ChannelToSubjectJob log4j.additivity.com.chaoxing.subject.jobs.ArticlesChannelToSubjectJob=false log4j.appender.ChannelToSubjectJob = org.apache.log4j.DailyRollingFileAppender log4j.appender.ChannelToSubjectJob.Threshold = INFO log4j.appender.ChannelToSubjectJob.File = ${catalina.home}/logs/ChannelToSubjectJob.log log4j.appender.ChannelToSubjectJob.DatePattern = "."yyyy-MM-dd log4j.appender.ChannelToSubjectJob.layout = org.apache.log4j.PatternLayout log4j.appender.ChannelToSubjectJob.layout.ConversionPattern = %-5p %d{yyyy-MM-dd HH:mm:ss} %c %m%n
log4j有一個rootLogger和普通Logger的概念,預設情況下我們只需要一個rootLogger,就是所有的日誌只會輸出到這一個日誌檔案中。
看一下普通Logger的配置(以介面日誌service為例):
log4j.logger.com.chaoxing.subject.jobs.SubjectJobFromKafka=INFO, SubjectJob
這句中的”com.chaoxing.subject.jobs.SubjectJobFromKafka”,表示該普通logger日誌配置生效的類的完全路徑,其中色service,表示該普通logger的名字
log4j.additivity.net.czt.crazyant.service=false
該句配置的意思,是不要將該package的日誌輸出到rootLogger日誌中,只輸出到自己配置的日誌就行了;
Java類呼叫log4j記錄日誌
private static Logger logger = Logger.getLogger(ArticlesChannelToSubjectJob.class);
logger.info("channelToSubjectJob");
轉載於:https://my.oschina.net/kdy1994/blog/841930