logback中显示mybatis查询日志文件并写入的方法示例
作者:KimZing 发布时间:2023-11-03 03:01:48
标签:logback,mybatis,查询日志,日志写入
网上看了很多篇文章关于如何配置mybatis的logback日志的,复杂的简单的都有,但是有用的没几个,耽误了很多时间。通过对logback的学习,以下方式是一定可行的,希望可以为大家节省点时间。通常我们可以通过如下配置将操作数据库的sql语句打印到控制台上,但是如何将这些sql语句记录到日志文件中方便我们查询问题呢?
在logback中显示mybatis查询日志
一、配置文件
可以有多种不同的实现,以下是将日志输出到控制台
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
二、定制包的日志level
logging:
level:
#你的repository的包
com.kingboy.repository: debug
三、通过logback-spring.xml文件
在文件中新增如下配置
<configuration>
//添加这部分内容,改为自己的包路径
<logger name="com.kingboy.repository" level="DEBUG" />
<configuration>
将操作数据库sql记录到日志文件中
springboot+mybatis
mybatis:
# 标注待解析的mapper的xml文件位置
mapper-locations: classpath:mapper/*.xml
configuration:
# org.apache.ibatis.logging.slf4j.Slf4jImpl
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
具体实现方式是重写StdOutImpl类
实现方式如下:
package com.emily.infrastructure.datasource.log;
import com.emily.infrastructure.logback.factory.LogbackFactory;
import org.apache.ibatis.logging.Log;
/**
* @Description: 将mybatis sql语句记录到日志文件中实现类,是org.apache.ibatis.logging.stdout.StdOutImpl类的替换
* @Author: Emily
* @create: 2021/8/22
*/
public class LogBackImpl implements Log {
public LogBackImpl(String clazz) {
// Do Nothing
}
@Override
public boolean isDebugEnabled() {
return true;
}
@Override
public boolean isTraceEnabled() {
return true;
}
@Override
public void error(String s, Throwable e) {
LogbackFactory.module("database", "database", s);
e.printStackTrace(System.err);
}
@Override
public void error(String s) {
LogbackFactory.module("database", "database", s);
}
@Override
public void debug(String s) {
LogbackFactory.module("database", "database", s);
}
@Override
public void trace(String s) {
LogbackFactory.module("database", "database", s);
}
@Override
public void warn(String s) {
LogbackFactory.module("database", "database", s);
}
}
要想重写的实现类生效,需将配置替换为实现类,如下:
mybatis:
# 标注待解析的mapper的xml文件位置
mapper-locations: classpath:mapper/*.xml
configuration:
# org.apache.ibatis.logging.slf4j.Slf4jImpl
log-impl: com.emily.infrastructure.datasource.log.LogBackImpl
来源:https://blog.csdn.net/kingboyworld/article/details/78644416
0
投稿
猜你喜欢
- java函数中的传值和传引用问题一直是个比较“邪门”的问题,其实java函数中的参数都是传递值的,所不同的是对于基本数据类型传递的是参数的一
- 一.static关键字使用场景static关键字主要有以下5个使用场景:1.1、静态变量把一个变量声明为静态变量通常基于以下三个目的:作为共
- 背景以springboot为tomcat启动的框架,以angular2为前端页面的框架,最后需要将angular2的代码运行在springb
- 本文实例讲述了Hibernate环境搭建与配置方法。分享给大家供大家参考,具体如下:1.下载hibernate jar包:hibernate
- 本文实例讲述了Java集合定义与用法。分享给大家供大家参考,具体如下:java集合大体可分为三类,分别是Set、List和Map,它们都继承
- Mybatis有什么用前两天跟阿里的大牛聊天,他讲到对于性能要求高,需求变化多的互联网项目来说,用在sql优化上的开发时间是大头,有时候代码
- 本文会介绍从一个最基本的java工程,到Web工程,到集成Spring、SpringMVC、Spring
- Feign多参数传递及注意的问题这边沿用前面的Eureka,Feign,Service在服务提供者cloud-shop-userservic
- 1. 支持的视图技术前端模板引擎技术的出现,使前端开发人员无需关注后端业务的具体实现,只关注自己页面的呈现效果即可,并且解决了前端代码错综复
- springboot结合maven配置不同环境的profile1、在spring-boot中新建配置文件spring-boot不同环境配置文
- 一、题目给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值
- 近期,公司推行正版化,本人使用的是JetBrains教育版,是不允许进行商业开发的,因此开启了艰难的备用IDE选型之路。最终,我选定了轻量级
- C# using 三种使用方式介绍1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的
- 缘起年前,因为项目需要进行配置的优化和架构的升级,领导给我来了个任务,让我去进行技术调研需要将配置中心的yaml配置文件里面的配置转为Jso
- Vector实现班级信息管理系统,供大家参考,具体内容如下代码如下:import java.util.*;public class Demo
- 前言这几天琢磨着开发个个人作品的时候,发现原来Unity3D官方没有提供圆锥体的创建功能,就自己做了个编辑器扩展。鉴于之前搜索Mesh编程的
- spring-cloud-config 配置中心实现Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中
- 从刚接触c#编程到现在,差不多快有一年的时间了。在学习过程中,有很多地方始终似是而非,直到最近才弄明白。本文将先介绍用法,后评断功能。一、委
- 在开发中,我们通常需要将从数据库中查询的集合数据转换成类似文件系统一样的树形集合,比如:省市单位,部门机构,书籍分类等TreeNode对象@
- Servlet注解之@WebInitParam多个InitParam使用百度了半天也没找到。。。。使用@WebInitParam配置多个In