log4j特定的日志输出到特定的文件中
某些情况下会有这样的需求,同一个类中有些日志要输出到不同的文件中:
比如我遇到的一个场景:
正常的业务日志要输出到file1.log中,这样的日志可能保留15天、30天就自动丢弃了。还有一个业务日志要纪录到file2.log中(这里的日志有特殊的格式要求),最终被flume收集到hdfs上。
如何配置呢,两种方式任选其一
1、properties文件配置方式:
log4j.rootLogger=INFO,A2
log4j.appender.console.Encoding=UTF-8
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.File=/opt/web/xxx/xxx_file1.log
log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.sss} %-5p [%t] %l - %m%n
log4j.logger.couponLogger=INFO,couponLogger
log4j.appender.couponLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.couponLogger.File=/opt/xxx/xxx_provide_coupon.log
log4j.appender.couponLogger.DatePattern='.'yyyy-MM-dd
log4j.appender.couponLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.coupon