通过在application.properties中设置以下配置,我在Hibernate中使用了查询日志记录
logging.level.org.springframework.transaction.interceptor=DEBUG
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=DEBUG
这非常有效,并且可以记录查询。我需要通过在我从哪个表中选择数据的开头添加一个表名来增强这个日志记录。例如,我记录了以下查询:
2021-06-16 13:11:18.008 DEBUG 6544 --- [io-8080-exec-10] org.hibernate.SQL : select count(program0_.id) as col_0_0_ from public.program program0_ where 1=1
2021-06-16 13:11:18.008 DEBUG 6544 --- [io-8080-exec-10] org.hibernate.SQL : select count(user_0 .id) as col_0_0_ from public.user user_0 where 1=1
这些查询很简单,很容易确定数据是从表program
和user
中查询的。但是在大型查询的情况下,在开始时使用表名可以简化对日志的检查。
在Hibernate中有如何设置的选项吗?
发布于 2021-06-16 21:53:40
,
例如,如果您使用的是Logback,那么您可以注册一个解析消息的自定义layout,如果它找到一个SQL语句,它就会从中提取表。
或者,您可以使用post处理您的日志,使用您正在使用的工具链来收集和合并日志
https://stackoverflow.com/questions/68001658
复制相似问题