使用hibernate4 和slf4j / log4j2,在log4j2.xml 中配置:
<Logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="trace" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.hibernate.type.EnumType" level="trace" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
看了好多文章都是这样配置,但是怎么都不生效,历尽千辛万苦,发现需要配置vm参数:
-Dorg.jboss.logging.provider=slf4j
由于hibernate 使用jboss log,而JBoss Logging记录的日志现在实际上都将通过slf4j传递。
哇,终于可以sql打印参数了
Hibernate:
select id,detail from system where type=?
10:31:19,510 TRACE BasicBinder:81 - binding parameter [1] as [INTEGER] - [8]