如何修改log4j2.xml配置以在日志中查看SQL查询语句?
查看Hibernate SQL查询语句的Log4j2配置修改方案
需要添加以下两个Logger配置到你的log4j2.xml文件中:
- 配置
org.hibernate.SQL日志为debug级别,用于输出SQL语句本身 - 配置
org.hibernate.type.descriptor.sql.BasicBinder日志为trace级别,用于输出SQL绑定的参数值(可选但推荐,否则只能看到不带参数的SQL模板)
修改后的完整配置示例:
<Logger name="org.springframework" level="info" additivity="false"> <AppenderRef ref="console" /> </Logger> <Logger name="org.hibernate.type" level="info" additivity="false"> <AppenderRef ref="console" /> </Logger> <!-- 新增:输出SQL语句 --> <Logger name="org.hibernate.SQL" level="debug" additivity="false"> <AppenderRef ref="console" /> </Logger> <!-- 新增:输出SQL绑定的参数值 --> <Logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="trace" additivity="false"> <AppenderRef ref="console" /> </Logger>
说明
org.hibernate.SQL的debug级别会打印出执行的SQL语句,但此时SQL中的参数是占位符(比如?)org.hibernate.type.descriptor.sql.BasicBinder的trace级别会打印每个占位符对应的实际参数值,方便直接复制SQL到数据库客户端执行测试
内容的提问来源于stack exchange,提问作者Rahul Kumar
相关产品推荐
相关产品推荐

