c3p0使用的是自己的MLog来记录日志并且总是选用java自带的日志.
com.mchange.v2.log.MLog.<clinit> MLog clients using java 1.4+ standard logging.
调查了一番发现目前的Hibernate 4.3.8.Final使用的c3p0版本为0.9.2.1, 而这个版本的c3p0在查找日志系统上有点问题.
根据官方的说明, 较新的c3p0 0.9.5版已经修复了这个问题. 只需要吧c3p0替换为0.9.5及以后的版本就可以了. Maven坐标如下:
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5</version>
</dependency>
重启系统后新的MLog可以正确发现classpath下的slf4j
Slf4jMLog$Slf4jMLogger$InfoLogger#log - MLog clients using slf4j logging.