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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 日志作为定位问题最重要的依据之一,在任何系统下都是不可或缺的,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><settingname="logImpl"value="STDOUT_LOGGING"/></settings>

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


网络异常,图片无法展示
|


在日志中可以清楚的看到JDBC的连接信息,执行的sql,获取到的结果等信息。


(三)使用Log4J日志


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


<settings><settingname="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

接着配置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的学习中就不做过多介绍了。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4月前
|
SQL Java 关系型数据库
SpringBoot 系列之 MyBatis输出SQL日志
这篇文章介绍了如何在SpringBoot项目中通过MyBatis配置输出SQL日志,具体方法是在`application.yml`或`application.properties`中设置MyBatis的日志实现为`org.apache.ibatis.logging.stdout.StdOutImpl`来直接在控制台打印SQL日志。
SpringBoot 系列之 MyBatis输出SQL日志
|
4月前
|
Java 数据库连接 数据库
后端框架的学习----mybatis框架(6、日志)
这篇文章介绍了如何在MyBatis框架中使用日志功能,包括配置MyBatis的日志实现、使用log4j作为日志工具,以及如何通过配置文件控制日志级别和输出格式。
|
5月前
|
SQL 监控 Java
IDEA插件-Mybatis Log Free日志替换
MyBatis Log Free 是一个免费的用于在 IntelliJ IDEA 中显示 MyBatis 日志的插件。它可以帮助您更方便地查看和分析 MyBatis 的 SQL 执行情况,以及定位潜在的性能问题,提高开发效率。
418 0
IDEA插件-Mybatis Log Free日志替换
|
5月前
|
XML Java 数据格式
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
|
6月前
|
Java 数据库连接 数据库
Spring日志完结篇,MyBatis操作数据库(入门)
Spring日志完结篇,MyBatis操作数据库(入门)
|
6月前
|
SQL Java 数据库连接
IDEA插件(MyBatis Log Free)
IDEA插件(MyBatis Log Free)
394 0
|
6月前
|
SQL Java 数据库连接
Mybatis日志SQL解析
Mybatis日志SQL解析
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
271 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
6天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
2月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
299 3