log4j打印指定包日志到指定文件

格陵兰鲨鱼王 1年前 ⋅ 231 阅读

背景

使用了druid数据库连接池和log4j,想把慢sql打印到指定的日志文件中。

步骤

修改log4j.properties文件

添加

log4j.logger.com.alibaba.druid=WARN,druid
log4j.additivity.com.alibaba.druid=false
log4j.logger.druid.sql.DataSource=WARN,druid
log4j.logger.druid.sql.Connection=WARN,druid
log4j.logger.druid.sql.Statement=WARN,druid

log4j.appender.druid=org.apache.log4j.DailyRollingFileAppender
log4j.appender.druid.layout=org.apache.log4j.PatternLayout
log4j.appender.druid.layout.ConversionPattern= [%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%t][%c][%L]%m%n
log4j.appender.druid.datePattern='.'yyyy-MM-dd
log4j.appender.druid.Threshold = WARN
log4j.appender.druid.append=true
log4j.appender.druid.File=../logs/testProject/druid-slow-sql.log

注意

  • log4j.rootLogger=INFO,A1,R的后面一定不能跟druid,否则会把其他类打印的日志也输出到druid-slow-sql.log文件中。
  • log4j.additivity.com.alibaba.druid=falsefalse表示该包的文件只会打印到druid-slow-sql.log文件中,不会打印到主文件里。

全部评论: 0

    我有话说: