0

我现在正在学习 Spring,目前正在尝试使用 logback 配置 slf4j 以在测试环境中记录 MySQL 语句。据我了解,我配置了所有内容以获取 MySQL 日志,但我什么也没看到。日志记录适用于其他记录器,连接器/J 驱动程序除外。我应该在我的代码中修复什么?我的配置如下:

pom.xml 包含以下依赖项:

    <!-- Logging with SLF4J & LogBack -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
        <scope>compile</scope>
    </dependency>

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
        <scope>runtime</scope>
    </dependency>

logback-test.xml

<configuration>
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
    <resetJUL>true</resetJUL>
</contextListener>

<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <charset>UTF-8</charset>
        <pattern>%d{HH:mm:ss.SSS} %-5level %class{50}.%M:%L - %msg%n</pattern>
    </encoder>
</appender>

<logger name="com.mysql" level="debug"/>
<logger name="org.springframework.jdbc" level="info"/>
<logger name="ru.javawebinar.topjava" level="debug"/>

<root level="INFO">
    <appender-ref ref="console"/>
</root>

我正在使用 Spring 的 JDBC 模板来访问这样的数据库:

public List<Meal> getAll(int userId) {
    return jdbcTemplate.query(
            "SELECT * FROM meals WHERE user_id=? ORDER BY date_time DESC", ROW_MAPPER, userId);
}

我的连接字符串网址是

jdbc:mysql://localhost:3306/topjava?logger=Slf4JLogger

抱歉这个愚蠢的问题,但我真的卡在这里。

4

0 回答 0