Mybatis日志实现

在以往,我们经常会使用到debug模式来调节,跟踪我们的代码执行过程。但是现在使用Mybatis是基于接口,配置文件的源代码执行过程,因此,我们必须选择日志工具类来作为我们开发,调节程序的工具。

Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:

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

标准日志工厂实现

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

测试,可以看到控制台有大量的输出!我们可以通过这些输出来判断程序到底哪里出了Bug

Log4j实现

  • Log4j是Apache的一个开源项目

  • 通过使用Log4j,我们可以控制日志信息输送的目的地:控制台,文本GUI组件

  • 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程,最令人感兴趣的就是,这些可以通过一个配置文件来灵活配置,而不需要修改应用的代码。

使用步骤

1.导入log4j的包

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

2.配置文件编写(log4j.properties)

#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
log4j.rootLogger=DEBUG,console,file
#控制台输出的相关设置
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n
#文件输出的相关设置
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/lili.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yyyy-MM-dd}][%c]%m%n
#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

3.setting设置日志实现

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

4.程序中使用Log4j进行输出!

public class MybatisTest {static Logger log = Logger.getLogger(MybatisTest.class);@Testpublic void test2() {try (SqlSession sqlSession = MybatisUtil.getSqlSession()) {log.info("获取映射器");UserMapper mapper = sqlSession.getMapper(UserMapper.class);log.info("根据姓名条件查询用户信息");User user = mapper.findByName("苏炳添");log.info("开始输出用户信息");System.out.println(user);} catch (Exception e) {e.printStackTrace();}}
}

Mybatis日志实现相关推荐

  1. 手写logback_springboot logback调整mybatis日志级别无效的解决

    springboot logback调整mybatis日志级别无效的解决 现象 在日志配置文件 logback-spring.xml 中,无论怎么修改级别,mybatis 的 sql 日志都会打印出来 ...

  2. MyBatis日志到底是如何做到兼容所有常用日志框架的?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 双子孤狼 来源 | https://blog. ...

  3. 的日志在哪里_写给大忙人看的,MyBatis日志如何做到兼容所有常用的日志框架?...

    前言 日志,在我们开发中是一个非常重要的话题,良好的日志打印可以帮助我们快速的定位问题,可能现在我们开发用到最多的日志框架就是slf4j了,但是日志还有其他很多优秀的框架,比如:Apache Comm ...

  4. 萌新发问:MyBatis日志到底是如何做到兼容所有常用日志框架的?

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐 19 个 github 超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:双子孤狼 bl ...

  5. springboot+mybatis日志显示SQL

    在springBoot+Mybatis日志显示SQL的执行情况的最简单方法就是在properties新增: logging.level.com.dy.springboot.server.mapper= ...

  6. 如何优雅的将Mybatis日志中的Preparing与Parameters转换为可执行SQL

    原文链接 疫情期间大家宅在家里是不是已经快憋出"病"了~~ 公司给开了VPN,手机电脑都能连,手机装上APP测试包,就能干活了,所以walking从2020.02.01入京以来,已 ...

  7. mybatis 日志 Reader entry 乱码

    mybatis 日志 Reader entry 乱码 问题 现象:乱码日志如下 2021-03-04 10:59:13 -0 [main] DEBUG - Logging initialized us ...

  8. 关闭mybatis 日志

    关闭mybatis 日志 说明 在网上找了一大圈都没有靠谱的答案,有时候项目中的日志打印太多,需要屏蔽部分日志打印 mybatis 日志的实现 原理:就是mybatis 的日志抽取了公共的方法,需要依 ...

  9. springboot项目mybatis日志自定义设置无法生效

    springboot项目mybatis日志自定义设置无法生效,就是无法设置日志级别,无法对java.sql.PreparedStatement.java.sql.Connection等进行设置. 翻了 ...

  10. mybatis日志功能是如何设计的?

    引言 我们在使用mybatis时,如果出现sql问题,一般会把mybatis配置文件中的logging.level参数改成debug,这样就能在日志中看到某个mapper最终执行sql.入参和影响数据 ...

最新文章

  1. 为Nginx制作404 403 500等错误页面
  2. linux内存管理与设计,深入理解Linux内存管理机制(一)
  3. spring environment_SpringBoot实战8-Spring基础-应用环境
  4. 量子计算: 1秒完成传统计算机100年的任务量
  5. 从服务器检索时出错dfdferh01_大数据实战项目之海量人脸特征检索解决方案演进...
  6. SciSharpCube:容器中的SciSharp,.NET机器学习开箱即用
  7. 中国PLC市场增长分析
  8. 功能1 -- 顶部导航栏和返回顶部效果
  9. fckeditor java_FCKeditor在线编辑器(Java)
  10. 计算机网络的三级结构是什么,计算机的三级存储结构是什么
  11. k线形态python_Python量化分析之K线模式识别
  12. 思维导图告诉你怎样正确的做笔记?
  13. 串行口中断服务函数的触发条件-------TI/RI 触发
  14. php把字符串变为数组_php把字符串转为数组的方法
  15. css3中的渐变色效果
  16. c语言中“函数的定义不可以嵌套,但函数的调用可以嵌套
  17. 从零开始——Dev-C++调试方法
  18. Spring AOP源码分析二
  19. 2018深圳国际3D打印产业展览会
  20. URAL 1517. Freedom of choice (后缀数组)

热门文章

  1. 文件上传之multer
  2. CSS3属性选择器总结
  3. 超级有用的git reset --hard和git revert命令
  4. Android网络课程笔记-----完善GoogleStyleApp框架结构
  5. GridView中如何使用CommandField删除时,弹出确认框
  6. mybatis-plus 自定义QueryWrapper(一)实现查询函数
  7. 荣耀30s刷鸿蒙,荣耀终于放出大招!4部荣耀旗舰可升级鸿蒙,网友:终于等到了...
  8. 怎么恢复初始状态_长妊娠纹怎么办 产后消除妊娠纹绝招
  9. MyBatis源码阅读(二) --- 执行流程分析
  10. Vue的生命周期和钩子函数