我使用 logback 作为日志框架,使用 hibernate 3 作为 ORM 工具。我想打印所有 SQL 查询,与在 mysql DB 中执行的完全相同。
我尝试使用 show_sql=true 参数,尽管它只打印 sql,但没有与其绑定(bind)值。
我已经浏览了之前的帖子,并尝试将记录器放入 logback 中以获得所需的结果,但没有成功。
<logger name="org.hibernate.loader.hql" level="TRACE" additivity="false">
<appender-ref ref="hibernateLogger" />
</logger>
<logger name="org.hibernate.SQL" level="DEBUG" additivity="false">
<appender-ref ref="hibernateLogger" />
</logger>
即使在定义了这些记录器和附加程序之后,没有绑定(bind)的 sql 也会打印在控制台上,而不是所需的日志文件上
最佳答案
添加此记录器
<logger name="org.hibernate.type.descriptor.sql.BasicBinder">
<level value="TRACE"/>
</logger>
关于java - 使用 hibernate 3 和 logback 时如何打印精确的 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42527043/