log4j2日志框架中c3p0日志输出

应用程序使用log4j2但c3p0库的日志由log4j控制,导致大量DEBUG日志输出,影响日志文件大小和系统性能。解决方案是创建mchange-log.properties文件,并设置日志级别为WARNING,以减少不必要的日志信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

添加以上配置用于手工指定配置日志打印级别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值