使用log4j2打印mybatis的sql执行日志
生活随笔
收集整理的這篇文章主要介紹了
使用log4j2打印mybatis的sql执行日志
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【1】maven配置jar包依賴, 如下:
<!-- 日志jar --><!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.11.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.11.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-web</artifactId><version>2.11.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>2.11.1</version></dependency></dependencies>【2】配置log4j2.xml 文件,內容如下:
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %l %msg%n"/></Console></Appenders><Loggers><Root level="error"><AppenderRef ref="Console"/></Root><Logger name="com.swjtu.crud.dao" level="DEBUG or TRACE" additivity="false"><AppenderRef ref="Console"/></Logger></Loggers> </Configuration>Logger 標簽?配置了需要打印日志的mapper(Mapper類或mapper XML 文件所在包)
Logger標簽中的 level屬性取值為 DEBUG 或者 TRACE,(取其一)
【3】mybatis配置文件 mybatis-config.xml 中設置日志的工具類, 如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><properties resource="dbconfig.properties"></properties><settings><!-- 駝峰命名規則 --><setting name="mapUnderscoreToCamelCase" value="true"/><!-- 配置日志工具 --><setting name="logImpl" value="LOG4J2" /></settings><typeAliases><package name="com.swjtu.crud.bean" /></typeAliases><plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin></plugins><environments default="development"><!-- 開發環境 --><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment></environments><mappers><mapper resource="com\swjtu\crud\dao\dept.mapper.xml"/></mappers></configuration>【4】日志打印效果:
20:35:28.742 [main] DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:181) ==> Preparing: SELECT dept_id AS DEPT_ID , dept_name AS DEPT_NAME FROM dept_tbl WHERE rcrd_id IN ( ? , ? , ? ) 20:35:28.786 [main] DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:181) ==> Parameters: 1(String), 2(String), 3(String) 20:35:28.807 [main] DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:181) <== Total: 3打印sql為:
<!-- 查詢部門列表 --> <select id="getDeptList" resultType="map"> SELECT dept_id AS DEPT_ID , dept_name AS DEPT_NAMEFROM dept_tbl WHERE rcrd_id IN (<foreach collection="LIST" item="item" separator=", ">#{item} </foreach> ) </select>References are as follows.
http://www.mybatis.org/mybatis-3/zh/logging.html
https://blog.csdn.net/honghailiang888/article/details/52594014?
?
總結
以上是生活随笔為你收集整理的使用log4j2打印mybatis的sql执行日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 历史人物介绍大全 5位历史人物介绍
- 下一篇: 苹果香歌词 苹果香歌曲简介