背景
使用了 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文件中,不会打印到主文件里。
引用
https://hacpai.com/article/1535963077241