目录
什么是MyBatis相关的日志?
标准日志信息配置:
配置logback日志信息:
什么是MyBatis相关的日志?
首先什么叫做与MyBatis相关的日志呢?就是我们在执行sql语句的时候,如果没有MyBatis相关的日志,我们不知道我们实际执行的sql语句长什么样,但是有了MyBatis日志,我们就可以知道我们实际执行的sql语句具体是长什么样子的。
第一步引人依赖:
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency>
第二步,在根路径下,resource中加入log4J.properties文件;
log4j.rootLogger=DEBUG,A1log4j.logger.org.mybatis=DEBUGlog4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码log4j.rootLogger=DEBUG,console,file#控制台输出的相关设置log4j.appender.console = org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target = System.outlog4j.appender.console.Threshold=DEBUGlog4j.appender.console.layout = org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=[%c]-%m%n#文件输出的相关设置log4j.appender.file = org.apache.log4j.RollingFileAppender# 日志输出的文件log4j.appender.file.File=./log/mybatis.loglog4j.appender.file.MaxFileSize=10mblog4j.appender.file.Threshold=DEBUGlog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n#日志输出级别log4j.logger.org.mybatis=DEBUGlog4j.logger.java.sql=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.ResultSet=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG
第三步,在mybatis-config.xml 文件中加入一下配置信息:
如果不是配置标准日志的情况下,我们不需要在mybatis-config.xml 文件中配置一下信息,因为mybatis在没有配置日志信息的情况下,回去查找第三方日志信息配置,当然前提是你依赖以及所需文件是英进来的;
<settings><setting name="logImpl" value="STDOUT_LOGGING"/></settings>
标准日志信息配置:
STDOUT_LOGGING是属于比较标准的那种,打开的方式也是比较简单的,在mybatis-config.xml中配置settings标签。
<settings><setting name="logImpl" value="STDOUT_LOGGING"/></settings>
配置logback日志信息:
<?xml version="1.0" encoding="UTF-8"?><configuration debug="false"><!--定义⽇志⽂件的存储地址--><property name="LOG_HOME" value="/home"/><!-- 控制台输出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示⽇期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:⽇志消息,%n是换⾏符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender><!-- 按照每天⽣成⽇志⽂件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--⽇志⽂件输出的⽂件名--><FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--⽇志⽂件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示⽇期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:⽇志消息,%n是换⾏符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logge r{50} - %msg%n</pattern></encoder><!--⽇志⽂件最⼤的⼤⼩--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>100MB</MaxFileSize></triggeringPolicy></appender><!--mybatis log configure--><logger name="com.apache.ibatis" level="TRACE"/><logger name="java.sql.Connection" level="DEBUG"/><logger name="java.sql.Statement" level="DEBUG"/><logger name="java.sql.PreparedStatement" level="DEBUG"/><!-- ⽇志输出级别,logback⽇志级别包括五个:TRACE < DEBUG < INFO < WARN < ERROR --><root level="DEBUG"><appender-ref ref="STDOUT"/><appender-ref ref="FILE"/></root></configuration>