我遇到了日志问题,因为它描述为here。
我的代码:
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, userName, password);
Settings settings = new Settings();
settings.withRenderFormatted(true);
settings.setExecuteLogging(true);
DSLContext dslContext = DSL.using(conn, SQLDialect.MYSQL, settings);
dslContext.select(USER.USERID, USER.IMIE, USER.NAZWISKO).from(USER).orderBy(USER.USERID).limit(1, 2).fetch();
我的控制台中没有任何内容
这是我的log4j.xml:
<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>
<root>
<priority value="debug" />
<appender-ref ref="stdout" />
</root>
</log4j:configuration>
和我的IVY依赖项:
<dependency org="org.jooq" name="jooq" rev="3.2.2"/>
<dependency org="org.jooq" name="jooq-codegen" rev="3.2.2"/>
<dependency org="org.jooq" name="jooq-meta" rev="3.2.2"/>
<dependency org="mysql" name="mysql-connector-java" rev="5.1.26"/>
<dependency org="log4j" name="log4j" rev="1.2.16"/>
<dependency org="org.slf4j" name="slf4j-simple" rev="1.7.4"/>
答案 0 :(得分:2)
据我所知,我可以阅读代码(cf org.jooq.tools.JooqLogger
),Jooq
通过尝试加载每个代码来猜测记录器,直到成功为止。考虑到你的ivy.xml,你有Log4j
和slf4j-simple
。而Jooq首先尝试slf4j
。因此未使用Log4j
。
因此,您需要从依赖项中删除slf4j-simple
。
如果确实需要slf4j logger,
尝试slf4j-log4j12
,请将slf4j
日志重定向到log4j。
答案 1 :(得分:1)
尼古拉斯,你是老板:),你是对的
这是正确的依赖关系,在IVY:
<dependency org="org.jooq" name="jooq" rev="3.2.2"/>
<dependency org="org.jooq" name="jooq-codegen" rev="3.2.2"/>
<dependency org="org.jooq" name="jooq-meta" rev="3.2.2"/>
<dependency org="mysql" name="mysql-connector-java" rev="5.1.26"/>
<dependency org="log4j" name="log4j" rev="1.2.16"/>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.5"/>