首先Mybatis是默认不支持Logback的,所以不管在Logback的配置文件中如何配置,consloe框中都无法显示sql语句。
解决办法:
首先在Mybatis配置文件的settings标签下添加一行配置。
<settings> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings>然后再在Logback的配置文件中添加
<logger name="com.lw.dao" level="DEBUG"></logger>
此时便可将mapper接口的操作打印,此时只是将对数据库的操作打印到consloe框只能怪,如果将其保存到文件中,需要在Logback的配置文件中添加一个appender
<appender name="all-date-size" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <maxHistory>${log.maxHistory}</maxHistory> <fileNamePattern>${LOG_HOME}/${log.projectName}.all.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${log.maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder charset="${log.charset}"> <pattern>${log.pattern}</pattern> </encoder> </appender>此配置为按天来生成日志文件,并且当文件大小超过log.maxFileSize时,就会生成新的文件,并且文件最后的编号递增。log.maxHistory定义了日志文件最长保存的天数。
其中<fileNamePattern>定义了日志保存的文件。注意在定义地址时分割符为'/'而不是Windows下的'\',即应定义为
LOG_HOME=C:\logs而不是Windows下地址的写法 LOG_HOME=C:/logs 写错会导致无法正确生成日志文件。 <root level="DEBUG"> <appender-ref ref="STDOUT" /> <appender-ref ref="all-date-size" /> </root>此配置为控制台输出root级别大于DEBUG的日志,并且存入到日志文件中。