1. 程式人生 > 其它 >log4j 不同功能,同INFO級別,輸出到不同log檔案

log4j 不同功能,同INFO級別,輸出到不同log檔案

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

配置檔案

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