Mybatis从小白到小黑(五)Mybatis日志原来是这样使用的

听说微信搜《Java鱼仔》会让技术提高更快哦

(一)关于Mybatis日志

日志作为定位问题最重要的依据之一,在任何系统下都是不可或缺的,Mybatis 通过使用内置的日志工厂提供日志功能。在前面讲设置的时候,我们已经看到了Mybatis可以配置以下几种日志工厂:

在这里插入图片描述
可选的值有:SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING,或者是实现了 org.apache.ibatis.logging.Log 接口,且构造方法以字符串为参数的类完全限定名。

(二)使用STDOUT_LOGGING输出标准日志

我们先使用标准的日志输出功能,首先在Mybatis-config.xml

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

我们跑一段简单的sql来看一下日志的输出

在这里插入图片描述
在日志中可以清楚的看到JDBC的连接信息,执行的sql,获取到的结果等信息。

(三)使用Log4J日志

log4J日志相信大家都不陌生,至少在我工作的这段经历里,日志框架就只用了log4j,还是一样的步骤,首先在设置中将logImpl的值设置为LOG4J

<settings>
    <setting name="logImpl" value="LOG4J"/>
</settings>

Mybatis的系统内部是不包含这些外部日志框架的,因此需要引入依赖:

导入log4j的依赖

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

接着配置log4j,新建一个log4j.properties

# 全局日志配置
log4j.rootLogger=ERROR, stdout,logfile
# MyBatis 日志配置
log4j.logger.com.javayz.mapper.UserMapper=TRACE
# 控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

### 把日志信息输出到文件:jbit.log ###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n

上面的这段配置将详细打印javayz.mapper.UserMapper的日志,对于其他的部分只打印错误信息,同时把日志写入jbit.log中。

在这里插入图片描述
通过下面的配置只打印部分语句的日志:

log4j.logger.com.javayz.mapper.UserMapper.getUserById=TRACE

也可以打印一整组映射器的日志

log4j.logger.com.javayz.mapper=TRACE

SQL 语句将会在 DEBUG 日志级别下记录,因此只想查看 SQL 语句,而忽略返回的结果集,可以将日志等级设置为DEBUG:

log4j.logger.com.javayz.mapper=DEBUG

在这里插入图片描述
至于更多有关log4j的内容,在Mybatis的学习中就不做过多介绍了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java鱼仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值