2014-02-12 2 views
5
<?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> 

Я хочу только распечатать sql и ошибку, но он не печатает SQL в консоли, может ли кто-нибудь мне помочь? спасибо, лоткак настроить logback для Mybatis для печати моего SQL

ответ

13

Конфигурация appender правильная, но конфигурации регистратора нет.

Для регистрации заявления SQL для конкретного mybatis картограф множества DEBUG (трассировка, чтобы увидеть параметры запроса и результаты) уровень для регистратора с полным именем картографа

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

Вы можете войти все SQL заявления от всех картографов, если они в том же пакете, как этот

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

Большое спасибо, проблема была решена – maows

+0

Что делать, если мои Mappers находятся в разных пакетах? Означает ли это, что я должен добавить регистратор для каждого пакета? –

+0

см.: Http://www.mybatis.org/mybatis-3/logging.html – zhuguowei

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

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

Я использовал выше фрагмент кода в моей logback.xml и получил запрос SQL в регистраторе. Если требуется распечатать sql в определенном журнале, используйте тег.

0

спасибо, я добавить к 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> 

Смежные вопросы