使用Log4jdbc-log4j2打印mybatis的sql语句

一、maven依赖

 

<!-- 日志文件管理包 -->
<!-- log start -->
<!-- log4j2的包,注意版本问题,lo4j-slf4j-impl对lo4j2包有版本要求,如果这里的包为2.0版本会出错,找不到有些class -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.3</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.3</version>
    <scope>compile</scope>
</dependency>
<!-- log4jdbc监控jdbc层 -->
<dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    <version>1.16</version>
</dependency>
<!-- slf4j相关api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.5</version>
</dependency>
<!-- slf4j的log4j实现包 -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.1</version>
</dependency>
<!-- log end --> 

 

二、相关配置文件

log4jdbc.log4j2.properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

jdbc驱动和url修改为

db.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
db.url=jdbc:log4jdbc:mysql://localhost:3306/wechat_talk?useUnicode=true&characterEncoding=utf-8

log4j的相关配置xml或properties

 log4j2.xml(部分)

<!-- sql 以及耗费的执行时间 -->
<logger name="jdbc.sqltiming" level="INFO" additivity="false"></logger>
<!-- 执行之后的返回结果 -->
<logger name="jdbc.resultsettable" level="INFO"></logger>
<!-- 只有sql -->
<logger name="jdbc.sqlonly" level="OFF"></logger>
<logger name="jdbc.audit" level="OFF"></logger>
<logger name="jdbc.resultset" level="OFF"></logger>
<!-- 能看到数据库的连接数 -->
<logger name="jdbc.connection" level="OFF"></logger>

 

 

你可能感兴趣的:(使用Log4jdbc-log4j2打印mybatis的sql语句)