如何配置Mybatis的logback来打印我的SQL

mao*_*ows 6 logback mybatis

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%d{HH:mm:ss} %-5level %logger{35} - %msg%n
            </Pattern>
        </encoder>
    </appender>
    <logger name="java.sql" level="DEBUG" >
        <appender-ref ref="STDOUT" />
    </logger>
    <root>
        <level value="ERROR" />
        <appender-ref ref="STDOUT" />
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我只想打印sql和错误,但它不能在Console中打印SQL,任何人都可以帮助我吗?非常感谢

Rom*_*val 17

appender的配置是正确的,但记录器配置不正确.

使用完全限定的映射器名称记录特定mybatis映射器的SQL语句设置DEBUG(TRACE以查看查询参数和结果)级别

<logger name="com.mycompany.myapp.mapper.MyMapper" level="DEBUG"/>
Run Code Online (Sandbox Code Playgroud)

如果它们位于同一个包中,您可以记录所有映射器中的所有SQL语句

<logger name="com.mycompany.myapp.mapper" level="DEBUG"/>
Run Code Online (Sandbox Code Playgroud)