我想设置在全局日志存放到一个log文件中,然后某一模块中的日志存放到另一个log文件中,请问怎么实现
你可以定义两个appender,将你的不同模块的日志分别输出到不同的appender中。示例配置如下:
log4j.rootLogger=INFO, stdout, logfile1,logfile2
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %x %p [%F:%L] - %m%n
log4j.appender.logfile1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile1.DatePattern ='.'yyyy-MM-dd
log4j.appender.logfile1.File=${catalina.base}/logs/logfile1.log
log4j.appender.logfile1.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %x %p [%F:%L] - %m%n
log4j.appender.logfile2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile2.DatePattern ='.'yyyy-MM-dd
log4j.appender.logfile2.File=${catalina.base}/logs/logfile2.log
log4j.appender.logfile2.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %x %p [%F:%L] - %m%n
#global log write to logfile1 and console
log4j.logger.global=INFO,stdout,logfile1
# some model such as com.my.model write to logfile2
log4j.logger.com.xx.model=INFO,stdout,logfile2 and console