Question

<?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>

I want print sql and error only,but it does not print SQL in Console,can any one help me? thanks lot

Was it helpful?

Solution

You configuration of appender is correct but logger configuration is not.

To log SQL statements for particular mybatis mapper set DEBUG (TRACE to see query parameters and results) level for logger with fully qualified mapper name

<logger name="com.mycompany.myapp.mapper.MyMapper" level="DEBUG"/>

You can log all SQL statements from all mappers if they are in the same package like this

<logger name="com.mycompany.myapp.mapper" level="DEBUG"/>

OTHER TIPS

     <logger name="org.mybatis">
      <level value="TRACE"/>
  </logger>

<logger name="java.sql">
    <level value="WARN"/>
</logger> 

I used the above code snippet in my logback.xml and got the sql query in logger. If require to print sql in specific logger, use tag.

thanks, I add to logback.xml

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${logFile}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${logFile}.%d.zip</fileNamePattern>
        <maxHistory>5</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>[%date] [%level] %msg [%file:%line] [%logger{100}] [%thread] [AspLink-${project.version}]%n</pattern>
    </encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>[AspLink-${project.version}] [%level] %msg [%file:%line] [%logger{100}]%n</pattern>
    </encoder>
</appender>

<logger name="liquibase" level="INFO" />
<logger name="ru.company.asplink.dao" level="DEBUG" />
<logger name="org.mybatis">
    <level value="TRACE"/>
</logger>

<root level="INFO">
    <appender-ref ref="FILE" />
    <appender-ref ref="STDOUT" />
</root>

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top