MyBatis 日志

日志

Mybatis 通过使用内置的日志工厂提供日志功能。内置日志工厂将会把日志工作委托给下面的实现之一:

  • SLF4J
  • Apache Commons Logging
  • Log4j 2
  • Log4j
  • JDK logging

通过 XML 配置中的 setting 可以选择要使用哪个日志实现

STDOUT_LOGGING

STDOUT_LOGGING 直接翻译就是标准输出日志,这是 MyBatis 自带的一个日志系统,可以实现比较基础的日志功能

想要使用只需要在 XML 配置中的 setting 中指定即可

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

然后就能在运行时看到日志,例如:

Opening JDBC Connection                            # 打开JDBC连接
Created connection 1477657879.                     # 创建编号为1477657879的连接
Setting autocommit to false on JDBC Connection   [com.mysql.jdbc.JDBC4Connection@58134517]          # 设置JDBC自动提交为false
==>  Preparing: select * from user where id = ?    # 执行的sql
==> Parameters: 1(Integer)                         # 参数
<==    Columns: id, name, password                 # 返回的字段
<==        Row: 1, user1, 123                      # 返回的值
<==      Total: 1                                  # 返回条数
User{id=1, name='user1', password='123'}
Resetting autocommit to true on JDBC Connection   [com.mysql.jdbc.JDBC4Connection@58134517]          # 设置JDBC自动提交为true
Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@58134517]  #关闭JDBC连接
Returned connection 1477657879 to pool.            # 将连接返回连接池

LOG4J

Log4j是 Apache 的一个开源项目,相较于STDOUT_LOGGING可以实现更加高级的日志功能。

优点:

  • 可以将日志输出到控制台、文件等多个位置
  • 可以自定义日志的级别,选择性输出
  • 可以设置日志的输出格式
  • 通过配置文件进行设置

导入依赖

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

maven 仓库里有两个 Log4j,它们是不一样的:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-axDMqr7X-1645510913398)(MyBatis基础.assets/image-20210924104551027.png)]

我们使用的是Log4j,至于Log4j Core 是 Log4j 2.0以上的版本,它们需要的依赖不同,配置时的操作也有很大区别,在 MyBatis 中 Log4j Core 对应的日志系统是 LOG4J2

XML 配置

同样的,在 setting 中设置日志系统为 LOG4J

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

Log4j 配置文件

通过配置文件可以设置日志输出位置、输出格式、输出级别等等内容,以下为一个简单的例子

# 全局日志配置
# 设置最低输出级别,配置名称
log4j.rootLogger=DEBUG, stdout, file 

# 控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender       # 设置输出目的地为控制台
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  # 设置输出布局为指定模式
log4j.appender.stdout.layout.ConversionPattern=[%p]%d %m%n   # 指定输出日志格式

#文件输出
log4j.appender.file = org.apache.log4j.FileAppender          # 设置输出目的地为文件
log4j.appender.file.layout = org.apache.log4j.SimpleLayout   # 设置输出布局为简单布局
log4j.appender.file.File = D:/log/logging.log                # 设置输出文件路径
log4j.appender.file.Append = false                           # 设置输出日志覆盖旧日志

配置完成后,就可以输出日志了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值