JOOQ和Logback

Eug*_*sel 3 java logging logback jooq spring-boot

我将springBoot与JOOQ一起使用,并希望记录生成的SQL。

像在JOOQ文档(http://www.jooq.org/doc/latest/manual/sql-execution/logging/)中一样,我将slf4J添加到了我的maven依赖项和log4j.xml中。但是当jooq执行一些查询时,我的控制台中看不到任何日志。

我也在Google中搜索此问题,但找不到任何内容。SpringBoot使用logBack,所以我的路径中有logBack和slf4J。是否可以对JOOQ使用logBack?我没有在JOOQ网站上获得任何有关此内容的指示。

Luk*_*der 5

jOOQ的内置组件JooqLogger尝试按以下顺序解决可选的记录器依赖项:

  • 如果在类路径上找到slf4j,则使用
  • 否则,如果在类路径上找到log4j,则使用
  • 其他,java.util.logging用于

因此,一旦JooqLogger在类路径中找到slf4j(例如,作为Spring Boot的传递依赖项),它将使用它作为日志记录框架。这是合理的,因为可以将slf4j配置为委托给任何其他日志记录框架,包括log4j和java.util.logging

因此,为了通过logback和Spring Boot启用jOOQ的调试日志记录,将以下logback.xml文件放在类路径根目录下就足够了:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <logger name="org.jooq" level="DEBUG"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)

现在,这也反映在GitHub上jOOQ-spring-boot-example中

在Spring Boot手册中可以找到更多的想法:https : //docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html