我使用JOOQ库来生成和执行SQL查询。出于调试的原因,我想看看到底执行了哪些查询,而没有每次查看更改的数据库。我认为,如果日志级别被设置为调试,jooq框架应该显示大量有关查询的信息及其效果。我使用log4j2进行日志记录,并将其设置为使用以下配置进行调试:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="DEBUG" packages="ch.fhnw.ima.doggait">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</appenders>
<loggers>
<root level="DEBUG">
<appender-ref ref="Console"/>
</root>
</loggers>
</configuration>不幸的是,JOOQ似乎使用了另一个记录器,该记录器设置为info。这是一个示例输出:
2015-09-29 10:15:04,064调试关机2015-09-29 10:15:04,065调试LoggerCo2015-09-29 10:15:04,111使用d.10:15:04.116测试工作者调试ch.fh。2015年9月29日10:15:04 AM org.jooq.tools.JooqLogger信息信息:@.
您可以看到前几行是通过log4j2登录到调试模式中的,但是Jooq在级别信息中使用JooqLogger。我使用gradle加载两个库:
compile group: 'com.google.inject', name: 'guice-parent', version: '3.0'
compile group: 'com.google.inject.extensions', name: 'guice-persist', version: '3.0'
compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '4.3.8.Final'
compile group: 'com.h2database', name: 'h2', version: '1.4.185'
compile group: 'org.apache.commons', name: 'commons-math3', version: '3.2'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.0.2'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.0.2'
compile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '1.8.10'
compile group: 'postgresql', name:'postgresql', version:'9.0-801.jdbc4'
compile group: 'org.jooq', name:'jooq', version:'3.6.3'
compile group: 'org.jooq', name:'jooq-meta', version:'3.6.3'
compile group: 'org.jooq', name:'jooq-codegen', version:'3.6.3'
testCompile 'junit:junit:4.11'有人知道为什么jooq不使用log4j2作为默认的记录器,或者我如何将它设置为登录调试级别?
发布于 2015-09-29 10:38:53
在内部,jOOQ仍然使用log4j 1.2作为默认设置。您应该使用该版本(目前),或者使用slf4j。
有几个特性请求可以改善jOOQ中的这些依赖关系:
发布于 2016-08-17 08:36:43
我知道现在有点晚了,但我发现了同样的问题,我用apache本身的帮助解决了这个问题。您可以将此适配器包括在类路径中,它将log4j2与log4j 1.2连接起来
但是,类路径中不能包含log4j 1.2JAR或配置文件。简而言之,使用log4j2做任何事情,只需包含上面的jar。
欲进一步阅读:罐子
这个问题帮了我一个忙:使用单个log4j2 xml文件配置log4j2和log4j2
https://stackoverflow.com/questions/32839478
复制相似问题