配置文件
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");