在春季,有什么方法可以记录特定JPA存储库的查询?

时间:2018-08-02 10:59:54

标签: java spring hibernate spring-data-jpa logback

我在一个程序包中有几个JPA存储库,我只想记录一个特定存储库的查询。我知道春天有以下属性:

  1. logging.level.org.hibernate.SQL = DEBUG
  2. logging.level.org.hibernate.type.descriptor.sql.BasicBinder = TRACE

但是这些属性记录所有存储库的sql语句。我希望这些属性仅适用于给定的存储库。春天有没有办法配置这种要求?

2 个答案:

答案 0 :(得分:0)

Spring中没有这样的功能。您可以做的是编写包装器或代理,包装有问题的存储库,并在每次调用之前在MDC中设置一个值,然后通过编写EvaluatorFilter来访问{{3} }

其他Logging框架也应该有类似的事情。

答案 1 :(得分:0)

在Spring中,您可以使用“ logback.xml”(https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html)来实现。

在logback.xml中,您可以指定包/类的日志级别,

例如:<logger name="org.test.project.yourRepository" level="DEBUG"/>