log4j2.xml文件部分内容
<Loggers>
<logger name="java.sql.Connection" level="info" additivity="true"></logger>
<logger name="java.sql.Statement" level="info" additivity="true"></logger>
<logger name="org.springframework" level="warn"></logger>
<logger name="org.mybatis" level="warn"></logger>
<Root level="info">
<AppenderRef ref="Console"/>
<AppenderRef ref="FileDebug"/>
</Root>
</Loggers>
应用程序采用log4j2日志框架,引用c3p0-0.9.1.2.jar,由于该包版本比较低,采用的默认日志框架为log4j,所以无法通过log4j2.xml控制其日志级别,此时应用日志会频繁输出以下日志,造成日志文件偏大并影响系统性能
[DEBUG] 2023-04-12 09:51:32,832 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
[DEBUG] 2023-04-12 09:51:32,833 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
use datasource : null
[DEBUG] 2023-04-12 09:51:32,834 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
use datasource : null
[DEBUG] 2023-04-12 09:51:32,835 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 8, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
[DEBUG] 2023-04-12 09:51:32,836 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 8, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
[DEBUG] 2023-04-12 09:51:32,836 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
use datasource : null
[DEBUG] 2023-04-12 09:51:32,837 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
[DEBUG] 2023-04-12 09:51:32,839 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
use datasource : null
[DEBUG] 2023-04-12 09:51:32,839 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
[DEBUG] 2023-04-12 09:51:32,840 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
use datasource : null
[DEBUG] 2023-04-12 09:51:32,841 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
[DEBUG] 2023-04-12 09:51:32,842 com.mchange.v2.resourcepool.BasicResourcePool.trace(BasicResourcePool.java:1644)
trace com.mchange.v2.resourcepool.BasicResourcePool@120496a1 [managed: 10, unused: 9, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2afaf441)
2023-04-12 095132.843 ============ls [214] [WARN] LoginAction:2680 - has no any qrcode type config , to use default qrcode type :AI
解决方案:
通过看日志提示的方法可以找到c3p0中日志类文件:默认加载jar包中默认配置
通过c3p0源码看到,可以在类路径下新增mchange-log.properties文件,并添加一下配置:
com.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog
com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=WARNING
添加以上配置用于手工指定配置日志打印级别