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 | 致命性错误信息 |
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcakki
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01