Mybatis 日志工厂

Mybatis的日志工厂(STDOUT_LOGGING/Log4j) 目录 使用Setting指定Mybatis日志 STDOUT_LOGGING标准日志输出 Log4j 使用Setting指定Mybatis日志 之前我们讲解mybatis核心配置文件中,讲过<settings>标签,说它可以改变mybatis运行时的行为。 默认情况下,mybatis是不打印日志的,但我们可以通过settings标签设置,各种各样的日志... 阅读详情

日志工厂的种类

这里主要就是讲一下关于核心配置文件中的logImpl日志设置

  • SLF4J
  • LOG4J(deprecated since 3.5.9) 掌握
  • LOG4J2
  • JDK_LOGGING
  • COMMONS_LOGGING
  • STDOUT_LOGGING 掌握
  • NO_LOGGING

STDOUT_LOGGING

这个其实就是标准日志输出

我们可以配置一下

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

运行一下我们的测试类

import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utils.MybatisUtils;

import java.util.List;

public class UserMapper {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        User user = mapper.getUserById(1);
        System.out.println(user);

        sqlSession.close();
    }
}

日志输出

D:\JDK\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar=55853:D:\IntelliJ IDEA 2021.3.2\bin" -Dfile.encoding=UTF-8 -classpath "D:\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar;D:\IntelliJ IDEA 2021.3.2\plugins\junit\lib\junit5-rt.jar;D:\IntelliJ IDEA 2021.3.2\plugins\junit\lib\junit-rt.jar;C:\Users\29523\IdeaProjects\Mybaits\Mybatis-02\target\test-classes;C:\Users\29523\IdeaProjects\Mybaits\Mybatis-02\target\classes;D:\apache-maven-3.8.4\maven_repo\junit\junit\4.11\junit-4.11.jar;D:\apache-maven-3.8.4\maven_repo\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;D:\apache-maven-3.8.4\maven_repo\mysql\mysql-connector-java\8.0.27\mysql-connector-java-8.0.27.jar;D:\apache-maven-3.8.4\maven_repo\com\google\protobuf\protobuf-java\3.11.4\protobuf-java-3.11.4.jar;D:\apache-maven-3.8.4\maven_repo\org\mybatis\mybatis\3.5.2\mybatis-3.5.2.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 UserMapper,test
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
Opening JDBC Connection,
Created connection 1520387953.
Setting autocommit to false on JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@5a9f4771]
==>  Preparing: select `id`,`name`,`password` from user where `id`=?; 
==> Parameters: 1(Integer)
<==    Columns: id, name, password
<==        Row: 1, libo, 000000
<==      Total: 1
User{id=1, name='libo', pwd='000000'}
Resetting autocommit to true on JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@5a9f4771]
Closing JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@5a9f4771]
Returned connection 1520387953 to pool.

首先她说初始化使用了哪个类,然后什么强制关闭所有连接

接下来才是真正的日志

首先她说打开数据库

然后创建一个数据库连接对象

设置自动提交为false

然后预编译语句为什么

参数是什么

查询的字段

行信息

总共有几行

最终的结果

重新设置自动提交为true

关闭数据库连接

LOG4J

LOG4J是什么?

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等

我们可以控制每一条日志的输出格式

通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程

最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

如何使用LOG4J?

  1. 首先我们需要导入LOG4J依赖包
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

  1. 在Mybatis核心配置文件中配置
<settings>
    <setting name="logImpl" value="LOG4J"/>
</settings>
  1. 在resources文件夹下创建一个配置文件log4j.properties并配置
### 配置根 ###
log4j.rootLogger = debug,console ,fileAppender

### 设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名 ###
log4j.logger.org.apache=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug
log4j.logger.java.sql.ResultSet=debug

### 配置输出到控制台 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern =  %d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n

### 配置输出到文件 ###
log4j.appender.fileAppender = org.apache.log4j.FileAppender
log4j.appender.fileAppender.File = logs/log.log
log4j.appender.fileAppender.Append = true
log4j.appender.fileAppender.Threshold = DEBUG
log4j.appender.fileAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 配置输出到文件,并且每天都创建一个文件 ###
log4j.appender.dailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyRollingFile.File = logs/log.log
log4j.appender.dailyRollingFile.Append = true
log4j.appender.dailyRollingFile.Threshold = DEBUG
log4j.appender.dailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.dailyRollingFile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 配置输出到文件,且大小到达指定尺寸的时候产生一个新的文件 ###
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLING_FILE.Threshold=ERROR 
log4j.appender.ROLLING_FILE.File=rolling.log 
log4j.appender.ROLLING_FILE.Append=true 
log4j.appender.ROLLING_FILE.MaxFileSize=10KB 
log4j.appender.ROLLING_FILE.MaxBackupIndex=1
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

Python虚拟环境实战:如何在不同conda环境中共享CUDA的libcupti.so.12文件 本文深入探讨了在Python虚拟环境中解决`ImportError: libcupti.so.12`报错的工程化方案。通过分析动态链接库的搜索机制,提供了环境变量法、软链接法和系统级配置法三种解决方案,帮助开发者在不同conda环境中高效共享CUDA动态链接库,确保深度学习项目的顺利运行。 阅读详情

相关推荐

J-SCOPE实战:除了看波形,如何用它和JLink-RTT模式高效调试你的STM32变量?

本文详细介绍了如何利用J-SCOPE和JLink-RTT模式高效调试STM32变量,实现实时数据可视化。通过对比HSS和RTT模式的优劣,提供固件端配置、J-SCOPE设置及实战应用案例,帮助开发者快速掌握这一高效调试技术,特别适用于电机控制、传感器融合等需要实时监控的场景。

weixin_29159613的博客 445

论MyBatis日志

Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons Logging Log4j 2Log4j JDK logging 具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找...

choujiaodie3389的博客 320

高通8155车机系统里,安卓和QNX是怎么‘打电话’的?聊聊HAB通信框架那些事

本文深入解析了高通8155车机系统中HAB通信框架如何实现安卓与QNX的高效协同。作为异构系统的通信桥梁,HAB通过共享内存和中断信号机制,在多媒体数据传输中展现出零拷贝、硬件加速等优势,成为智能座舱实现实时性与生态丰富性平衡的关键技术。

weixin_42715608的博客 382

Mybatis日志配置(slf4j、log4j、log4j2)

本文详细的介绍了mybatis日志的相关配置,包括日志门面与日志实面!!!

一个很懒的人 1万+

langchain4j+milvus实战

本文主要研究一下如何使用langchain4j来对接向量数据库milvus。

go4it 1472

从零开始:用君正T23ZN打造智能门锁双摄系统(含代码示例与调试技巧)

本文详细介绍了基于君正T23ZN视频处理芯片构建智能门锁双摄系统的完整实战方案。内容涵盖硬件选型与核心电路设计、软件开发环境搭建、双摄驱动框架、图像信号处理(ISP)调优、人脸识别算法集成与性能优化,以及系统调试与稳定性保障。文章提供了丰富的代码示例和调试技巧,旨在帮助嵌入式开发者高效实现具备人脸识别与监控功能的低功耗智能门锁视觉系统。

opencv7vision的博客 716

LOG4J,STDOUT_LOGGING,简单配置入门

LOG4J,STDOUT_LOGGING,简单配置入门

HHealer的博客 906

车牌识别系统

随这图形图像技术的发展,现在的车牌识别技术准确率越来越高,识别速度越来越快。无论何种形式的车牌识别系统,它们都是由触发、图像采集、图像识别模块、辅助光源和通信模块组成的。车牌识别系统涉及光学、电器、电子控制、数字图像处理、计算视觉、人工智能等多项技术。触发模块负责在车辆到达合适位置时,给出触发信号,控制抓拍。辅助光源提供辅助照明,保证系统在不同的光照条件下都能拍摄到高质量的图像。图像预处理程序对抓拍的图像进行处理,去除噪声,并进行参数调整。然后通过车牌定位、字符识别,最后将识别结果输出。 牌照自动识别是一

FPGA/MATLAB学习教程/源码/项目合作开发 2万+

【SpringBoot】深入解析日志框架及日志使用:日志框架门面 SLF4J 介绍和使用 Logger 类及日志工厂 LoggerFactory 打印日志及日志格式、日志级别分类、和日志级别使用

【SpringBoot】深入解析日志框架及日志使用:日志框架门面 SLF4J 介绍和使用 Logger 类及日志工厂 LoggerFactory 打印日志及日志格式、日志级别分类、和日志级别使用

OuO-1 的博客 1298

机器学习算法 —— LightGBM

本次我们选择英雄联盟数据集进行LightGBM的场景体验。英雄联盟是2009年美国拳头游戏开发的MOBA竞技网游,在每局比赛中蓝队与红队在同一个地图进行作战,游戏的目标是破坏敌方队伍的防御塔,进而摧毁敌方的水晶枢纽,拿下比赛的胜利。现在共有9881场英雄联盟韩服钻石段位以上的排位比赛数据,数据提供了在十分钟时的游戏状态,包括击杀数、死亡数、金币数量、经验值、等级……参考项目:机器学习系列入门系列[七]:基于英雄联盟数据集的LightGBM的分类预测。

ZShiJ的博客 708

BurpSuite工具HaE插件好用正则收集

数据集合面板里面直接查询捕获到的相关数据内容,省去一个个翻找数据包内容的烦恼。插件捕获到匹配正则表达式的数据包后,可以在。可以对正则条目进行添加、编辑、删除。规则信息管理,我们点击。

墨痕诉清风的博客 650

MyBatis知识汇总(第五篇)日志简介,标准日志STDOUT_LOGGING,LOG4J 配置与使用说明

前言:学习自https://www.bilibili.com/video/BV1NE411Q7Nx?p=9 文章目录日志1、日志简介2、标准日志STDOUT_LOGGING(1)配置(直接设置setting即可)3、LOG4J(1)简介(2)配置(3)使用 日志 1、日志简介 作用:一个数据库操作出现了异常,原生的Java报错可读性不强,或者说报错信息较繁琐。日志就可以很好地解决这一问题。 SLF4J LOG4J【掌握】 LOG4J2 JDK_LOGGING COMMONS_LOGGING STDO.

Zhou_LC的博客 1478

[深入研究4G/5G/6G专题-31]: 5G NR开机流程5.2 - UE Attach流程(Registeration Request/Accept/Complete)

目录前言:前置条件:第1章 5G NR UE attach流程(从UE log的视角看)1.0 NAS消息解析器1.1 消息交互流程1.2 UE Registeration Request消息(AMF->基站->UE)1.3 AMF Registeration Accept消息(AMF->基站->UE)1.4 UE Register complete消息(UE->基站->AMF)第2章 UE Register...............

文火冰糖(王文兵)的博客 7万+

MyBatis之日志工厂

1. 常见的日志工厂类型 MyBatis有自带的日志工厂 SLF4J LOG4J LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING NO_LOGGING 2. 日志工厂使用 在mybatis-config.xml中设置 注意标签的放置位置(在properties标签和typeAliases之间) <settings> <setting name="logImpl" value="LOG4J"/> </setting

Java追求者的博客 195

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Mybatis-日志工厂

本文讲述Mybatis日志工程的设置,以及常用的log4j的使用

m0_56183421的博客 230

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

mybatis-日志工厂

日志工厂 思考:我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率? 如果一个 数据库相关的操作出现了问题,我们可以根据输出的SQL语句快速排查问题。 对于以往的开发过程,我们会经常使用到debug模式来调节,跟踪我们的代码执行过程。但是现在使用Mybatis是基于接口,配置文件的源代码执行过程。因此,我们必须选择日志工具来作为我们开发,调节程序的工具。 Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons

liangyuanhao46的博客 228

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MyBatis日志工厂

一、 日志工厂 如果一个数据库操作,出现了异常,我们需要排错。日志是最好的帮手。 过去我们使用sout、debug,而现在可以使用日志工厂。 SLF4J LOG4J :需要掌握 LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING :需要掌握 NO_LOGGING 在MyBatis中具体使用那一日志实现,在设置中设定! 日志工厂的实现:STDOUT_LOGGING <settings> <setting name="lo

weixin_42596738的博客 270

Mybatis 日志工厂-LOG4J

日志 日志工厂 如果一个数据库操作出现了异常,要进行排错,日志是一个好工具 曾经是:sout,debug 现在是日志工厂 在mybatis-config.xml中的settings有这么一个设置,logImpl SL4J 重点 LOG4J LOG4J2 JDK_LOGGING Java自带的日志输出 STDOUT_LOGGING 工具包日志输出 NO_LOGGING 不输出日志 mybatis中具体使用哪一个日志实现,在设置中设定 stdout_logging标准日志输出 添加logImpl设置

haoyun的博客 314

Mybatis--标准日志工厂

1. 日志工厂 如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的助手! 曾经:sout、debug 现在:日志工厂 1.1 日志工厂分类 SLF4J LOG4J 【掌握】 LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING 【掌握】 NO_LOGGING 在MyBatis中具体使用哪一个日志实现,在设置中设定 1.2 STDOUT_LOGGING(标准日志工厂) 在mybatis核心配置文件中配置 mybatis-config.xml 注

天行健 君子以自强不息,地势坤 君子以厚德载物。 731

Mybatis(9) ——日志工厂

1.回顾1-8 1.1 什么是mybatis     是一个持久层框架     怎么将mybatis引入自己的项目——引入jar包即可     学习主要查看官方文档 1.2 什么是持久化 2.1 第一个mybatis程序 2.2 CRUD 2.3 mybatis配置文件解析   step1(可以直接复制现成的,然后修改对应位置即可使用)   &nbs

Jzandth的博客 257

MyBatis中日志工厂与log4j

文章目录1.日志工厂2.log4j 1.日志工厂 如果一个数据库出现了异常,需要排错,日志就是最好的助手 在mybatis-config.xml中配置: 2.log4j 1.先导入Log4j的包 2.log4j.properties: ### 设置### log4j.rootLogger = debug,stdout,D,E ### 输出信息到控制抬 ### log4j.appender....

你今天真好看呀 434

Mybatis篇-日志工厂

曾经,如果一个数据库的操作,出现了异常,排错的手段可以是sout打印语句或者进行debug,为了让排查工作变得更加高效,日志则是我们最好的帮手,日志工厂也就油然而生。(1)设置方式(注意:如果我们直接从官网上直接复制粘贴,小心自带的空格,一定记得检查配置的name和value!在Mybatis的核心配置文件中用setting标签进行配置。1、STDOUT_LOGGING 标准日志输出。

我热爱学习,也乐于分享。无论是科技前沿的洞见,还是生活中的小技巧,我都会在这里与你分享。我相信,知识就是力量,而分享则能让这份力量得到更好的传递。 178

日志工厂 log4j mybatis

日志工厂 对于以往的开发过程,我们会经常使用到debug模式来调节,跟踪我们的代码执行过程。但是现在使用 Mybatis是基于接口,配置文件的源代码执行过程。因此,我们必须选择日志工具来作为我们开发,调 节程序的工具。 Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序 查找)

m0_47734729的博客 394

MyBatis-日志工厂

文章目录MyBatis-日志工厂七、日志工厂1、日志工厂设置日志2、Log4j简介Log4j的使用(1)、导入依赖(2)、创建log4j.properties配置文件:(3)、配置log4j为日志的实现(4)、测试运行Log4j的简单使用扩展 MyBatis-日志工厂 七、日志工厂 1、日志工厂 数据库操作出现异常时,日志是我们排错的好帮手!! SLF4J LOG4J LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING NO_LOGGING 在MyBatis

weixin_49512993的博客 174

MyBatis的日志工厂跟分页实现

1、日志工厂 Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用先找到的(按上文列举的顺序 查找)。 如果一个都未找到,日志功能就会被禁用。 1.标准日志实现 指定 MyBatis 应该使用哪个日志记录实现。如果此设置不存在,则会自动发现日志记录实现。 <settings>

qq_45554909的博客 132

Mybatis内置的日志工厂提供日志功能

Logging Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4JApache Commons LoggingLog4j 2Log4jJDK logging 具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。 不少应用服务器的classpa

fangwenzheng88的博客 559
上一篇: Mybatis resultMap结果集映射
下一篇: Mybatis 分页
小小代码熊
博客等级 码龄7年 5粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值