代码之家  ›  专栏  ›  技术社区  ›  Muneeb Shahid

在Spring中,有没有方法记录特定JPA存储库的查询?

  •  0
  • Muneeb Shahid  · 技术社区  · 8 年前

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

    1. logging.level.org.hibernate.sql=调试
    2. logging.level.org.hibernate.type.descriptor.sql.basicbinder=跟踪

    但是这些属性记录所有存储库的SQL语句。我希望这些属性仅适用于给定的存储库。在Spring中有没有一种方法来配置这样的需求?

    2 回复  |  直到 8 年前
        1
  •  0
  •   Jens Schauder    8 年前

    春天没有这样的特征。您可以做的是编写一个包装器或代理,包装有问题的存储库,并在每次调用之前在 MDC 用它来过滤 EvaluatorFilter 访问 MDC of the ILoggingEvent

    其他日志框架也应该可以实现类似的功能。

        2
  •  0
  •   Nani    8 年前

    在春季,您可以使用“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"/>