JOOQ Log4j - 控制台输出丢失

4

我在登录方面遇到了问题,如这里所述。

我的代码:

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"/>
2个回答

3
据我所看到的代码(cf org.jooq.tools.JooqLogger),Jooq通过尝试加载每个日志记录器来猜测要使用的日志记录器,直到成功为止。考虑到您的ivy.xml文件,您同时拥有Log4jslf4j-simple。而Jooq首先尝试使用slf4j。因此,Log4j未被使用。

因此,您需要从依赖项中删除slf4j-simple

如果确实需要slf4j日志记录器,请尝试slf4j-log4j12,它将slf4j日志重定向到log4j中。


啊,好发现!我实际上没有意识到还添加了一个slf4j依赖... - Lukas Eder
自 jooq 3.12.0 版本以来似乎工作得更好:https://github.com/jOOQ/jOOQ/issues/7643 - Guillaume

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"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接