mybatis logback整合遇到的坑

mybatis3.2.7  logback整合遇到的坑

<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
   <version>1.7.21</version>
</dependency>
<dependency>
   <groupId>ch.qos.logback</groupId>
   <artifactId>logback-classic</artifactId>
   <version>1.1.7</version>
</dependency>
logback.xml
<configuration debug="true" scan="true" scanPeriod="1000 seconds">
   <timestamp key="date" datePattern="yyyyMMdd" />
   <!-- Output to Console -->
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
      <encoder>
         <pattern>%d{yyyy-MM-dd HH:mm:ss} %level %c:%L - %msg%n</pattern>
         <charset>UTF-8</charset>
      </encoder>
   </appender>
   <!-- 打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和  OFF 默认是DEBUG -->
   <root level="INFO">
      <appender-ref ref="STDOUT" />
   </root>
   <logger name="org.springframework" level="ERROR" />
   <logger name="net.sf.ehcache" level="ERROR" />
   <logger name="org.apache.cxf" level="ERROR" />
   <logger name="dao" level="DEBUG"/>
</configuration>
mybatis-config.xml
<settings>
    <setting name="logPrefix" value="dao."/>
</settings>

如上配置,

1.当未配置slf4j-api时不会输出sql日志,虽然logback会自动引入

2.当slf4j-api版本不正确时,不会输出sql日志

3.当未配置mybatis-config.xml中的setting时,无法输出sql日志

4.配置setting为

<setting name="logImpl" value="STDOUT_LOGGING"/>

能输出日志,但输出界面不友好

5.mybatis版本为3.2.7



你可能感兴趣的:(mybatis,logback)