MyBatis(七)MyBatis日志配置log4j的使用

十四、MyBatis日志配置

MyBatis作为一个封装好的ORM框架,其运行过程我们没办法去跟踪,为了让开发者了解MyBatis执行流程及每一个执行步骤所完成的工作,MyBatis框架本身集成了log4j日志框架(它本身没有,需要添加log4j依赖),对运行的过程进行跟踪记录。我们只需对MyBatis进行相关的日志配置,就可以看到MyBatis运行过程中的日志信息。

log4j中的4,读成four,谐音“for”的意思。

14.1 添加日志框架依赖

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

14.2 添加日志配置文件

  • 在resources目录下创建名为log4j.properties文件(必须在这个目录下,必须叫这个名字)

  • log4j.properties文件中配置日志输出的方式

    • log4j.rootLogger=DEBUG,stdout
      # MyBatis logging configuration...
      log4j.logger.org.mybatis.example.BlogMapper=TRACE
      # Console output...
      log4j.appender.stdout=org.apache.log4j.ConsoleAppender
      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
      log4j.appender.stdout.layout.ConversionPattern=[%t] %5p - %m%n
      
    • log4j.rootLogger=DEBUG,stdout

      声明日志的输出级别及输出方式。

      告诉log4j,我要输出什么类型的信息(DEBUG及以上级别的);
      输出到哪里,stdout表示输出到控制台。

    • log4j.logger.org.mybatis.example.BlogMapper=TRACE

      TRACE表示日志级别,后面会讲。

    • log4j.appender.stdout=org.apache.log4j.ConsoleAppender
      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

      这两行不用管。

    • log4j.appender.stdout.layout.ConversionPattern=[%t] %5p - %n%m

      定义日志的打印格式:%t 表示线程名称;%5p表示日志级别。其他的就不说了。

  • 使用效果

    在你运行你的方法时(比如刚才的模糊查询),它不再是仅仅输出一个结果:
    在这里插入图片描述

    • 把刚才的log4j配置文件中的最后一行,也就是定义日志打印格式修改一下,再运行(加了个%msg)
    log4j.appender.stdout.layout.ConversionPattern=[%t] %5p - %msg %m%n
    

在这里插入图片描述

会发现比刚才输出了更多的信息。%msg表示日志信息。

[main]代表线程的名字,主线程。

日志的级别——DEBUG级别。

具体解释:

第一行:

​ logging … 代表初始化。

第二行:

​ PooledDataSource,我们是不是建立了数据库的连接。连接是不是叫“POOLED”。这就表示初始化了我们的数据源。

第六行:

​ 有一个Opening JDBC Connection。打开了一个JDBC连接。(也说明MyBatis的底层就是JDBC)。

第七行:

​ Created Connection,说明创建了这个连接。

第八行:

​ ==> Preparing: select … 准备阶段。表示准备什么语句,读取了什么值。(这个时候还没编译,注意看我们的%花%里面的“花”已经显示进来了,这是由于我们采用的是${}拼接)。再到下一个[main],Parameters: … 是继续做准备工作,不过这个准备工作好像并没有做什么日志输出。

接着,执行(最下面那3行)。Total:2,输出两个结果。

最后两行才是打印结果。上面的都是日志输出。

  • 再换一个方法执行一下看看:

在这里插入图片描述

会发现读取select语句的时候那里放了两个占位符“?”(因为那里是用的#{}),这样就一目了然。

日志记录就是监控他每个环节,没有什么特殊含义。报错的时候也可以更清楚的看到是哪个环节出了错误,而且它报的异常会更详细。

14.3 日志信息的级别

在使用日志框架输出日志信息的时候,会根据输出的日志信息的重要程度分为5个级别

级别说明
DEBUG输出调试信息
INFO输出提示信息
WARN输出警告信息
ERROR一般性错误信息
FATAL致命性错误信息
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
MyBatis是一个开源的持久层框架,它可以帮助开发者简化数据库操作的编写。而Log4j是一个Java日志框架,可以用于记录应用程序的日志信息。在MyBatis使用Log4j可以方便地记录SQL语句的执行情况以及其他相关信息。 要在MyBatis使用Log4j,首先需要在项目中引入Log4j的相关依赖。可以通过在项目的pom.xml文件中添加以下依赖来引入Log4j: ```xml <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> ``` 引入依赖后,需要在项目的配置文件中配置Log4j的相关信息。可以创建一个名为log4j.properties的文件,并在其中配置日志输出的格式、级别等信息。以下是一个简单的log4j.properties配置示例: ```properties # 设置日志输出级别为DEBUG log4j.rootLogger=DEBUG, stdout # 配置输出到控制台 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n ``` 配置完成后,可以在MyBatis配置文件中指定使用Log4j作为日志输出工具。在mybatis-config.xml文件中添加以下配置: ```xml <configuration> <!-- 其他配置 --> <!-- 配置使用Log4j作为日志输出工具 --> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <!-- 其他配置</configuration> ``` 配置完成后,MyBatis会将SQL语句的执行情况以及其他相关信息输出到Log4j日志文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秋秋秋叶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值