禁用误报 C3P0 日志

Disable false-positive C3P0 logs

我的 Java7 项目使用 c3p0 (0.9.5.1) 进行连接池,使用 Log4j (1.2.17) 进行日志记录。似乎 log4j 将 c3p0 INFO 日志记录在 ERROR 级别:

2017-02-09T21:30:19.545+01:00 app_r41 jsvclog[5135] err: JSVC [MLog-Init-Reporter] INFO com.mchange.v2.log.MLog - MLog clients using slf4j logging.
2017-02-09T21:30:19.959+01:00 app_r41 jsvclog[5135] err: JSVC [main] INFO com.mchange.v2.c3p0.C3P0Registry - Initializing c3p0-0.9.5.1 [built 16-June-2015 00:06:36 -0700; debug? true; trace: 10]
2017-02-09T21:30:21.294+01:00 app_r41 jsvclog[5135] err: JSVC [main] INFO com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource - [configuration of ComboPooledDataSource follows here...]

现在这很混乱,我想禁用它。

这是我的 log4j.properties 配置的相关部分:

log4j.rootLogger=INFO, SYSLOG_APPENDER
log4j.logger.com.mchange=WARN, SYSLOG_APPENDER

我错过了什么?

在服务 start-up 期间设置此系统 属性 修复了问题:

System.setProperty( "com.mchange.v2.log.Log4jMLog.DEFAULT_CUTOFF_LEVEL", "WARNING" );