mybatis-plus无法通过logback-spring输出的解决方法
目录
- 问题描述
- 解决过程
- 解决方案
问题描述
通过官网配置,将mybatis-plus引入spring boot项目中,但是日志只能在控制台中输出,却无法在logback的日志文件中输出
// 具体参考网址 // https://mp.baomidou.com/guide/faq.html#%E5%90%AF%E5%8A%A8-mybatis-%E6%9C%AC%E8%BA%AB%E7%9A%84-log-%E6%97%A5%E5%BF%97 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
解决过程
1、点击进入StdOutImpl方法中查看,此方法是通过System.out.println打印的,logback在非配置情况下无法输出此内容。
2、System.out.println在logback打印文件中输出,我查到三种方法
方法一:
System.setOut(new PrintStream(new File("日志路径"))); System.out.println();
方法二:使用jar包
<dependency> <groupId>uk.org.lidalia</groupId> <artifactId>sysout-over-slf4j</artifactId> <version>1.0.2</version> </dependency>
web.xml 文件中添加
<listener> <listener-class>uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4JServletContextListener</listener-class> </listener>
方法三:spring-boot项目使用nohup命令启动未指定日志文件输出,所有日志均会输出到nohup.out中。可以定时写一个shell脚本,按日期切割nohup.out中内容,弃用logback输出的日志文件
this_path=$(cd `dirname $0`;pwd) cd $this_path echo $this_path current_date=`date -d "-1 day" "+%Y%m%d"` echo $current_date // 分割出指定字符大小,到新文件中 split -b +100m -d -a 4 /home/.../nohup.out /home/.../log/log_${current_date}_ // 清空nohup.out,等待下一次分割 cat /dev/null > nohup.out
以上3种方法都不太适用于我当前的需求,需要换个角度解决这个问题,比如,放弃使用StdOutImpl来输出日志
解决方案
放弃使用StdOutImpl输出日志,去掉log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 配置。在application.yml中使用常规logback-spring配置。
logging: level: com.XXX.mapper: debug
就可以正常输出sql语句了。
到此这篇关于mybatis-plus无法通过logback-spring输出的解决方法的文章就介绍到这了,更多相关mybatis-plus无法通过logback-spring输出内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Mybatis-Plus中的selectByMap使用实例
前言: 我在开始用Mybatis-Plus来对数据库进行增删改查时,将里面的函数试了个遍,接下来我就将使用selectByMap函数的简单测试实例写出来,方便没有使用过的朋友们快速上手 正文: 首先我们要使用这个selectByMap函数,需要在我们的Mapper中继承mybatis-plus包中相应的接口 package com.example.library.Mapper; import com.example.library.entity.bookBorrowing; import com
-
mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器的实现
目录 1.使用mybatis提供的拦截器拦截所有的查询请求. 2.定义SQL语句转义模板,分别对Map和Object对象进行处理 mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器 在开发中,我们通常会遇到这样的情况.用户在录入信息是录入了'%',而在查询时无法精确匹配'%'.究其原因,'%'是MySQL的关键字,如果我们想要精确匹配'%',那么需要对其进行转义. 1.使用mybatis提供的拦截器拦截所有的查询请求. 具体实现在代码中均有注释 import lombok.e
-
SpringBoot整合Mybatis Plus多数据源的实现示例
目录 导读 添加依赖 application.properties 2种方式创建DataSource Master配置,使用druid连接池 Slave配置 启动类 演示 导读 有一个这样子的需求,线上正在跑的业务,由于业务发展需要,需重新开发一套新系统,等新系统开发完成后,需要无缝对接切换,当初具体设计见草图. 添加依赖 <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <
-
Mybatis-Plus 官方神器发布
目录 1.主要功能 2.使用 2.1 依赖导入 2.2 字段数据绑定(字典回写) 2.3 字段加密 2.4 字段脱敏 2.5 DDL 数据结构自动维护 2.6 动态多数据源主从自由切换 2.7 分布式事务日志打印 2.8 数据权限 今天介绍一个 MyBatis - Plus 官方发布的神器:mybatis-mate 为 mp 企业级模块,支持分库分表,数据审计.数据敏感词过滤(AC算法),字段加密,字典回写(数据绑定),数据权限,表结构自动生成 SQL 维护等,旨在更敏捷优雅处理数据. 1.主要
-
MyBatis-Plus实现字段自动填充功能的示例
目录 一.前言 二.实现 1. 实体类 2. 公用字段 - 使用注解填充字段 3. 自定义MyMetaObjectHandler字段自动填充处理类继承MetaObjectHandler 一.前言 在项目中,我们有一些公共的字段需要做修改 如: gmt_create:创建时间 creator_id:创建人 gmt_modified:修改时间 modifier_id:修改人 这时候我们可以采用 MyBatis-Plus 中的字段自动填充功能去实现 思路:抽取公用字段封装到BaseEntity类中,再
-
Mybatis-plus 批量插入太慢的问题解决(提升插入性能)
MyBatis-Plus(简称MP)是一个MyBatis的增强工具,旨在MyBatis的基础上只做增强不做改变,为简化开发.提高效率而生. 特点 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper.通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda
-
springboot整合springsecurity与mybatis-plus的简单实现
1.概述 Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架. 它是用于保护基于Spring的应用程序的实际标准. Spring Security是一个框架,致力于为Java应用程序提供身份验证和授权. 与所有Spring项目一样,Spring Security的真正强大之处在于可以轻松扩展以满足自定义要求 springboot对于springSecurity提供了自动化配置方案,可以使用更少的配置来使用springsecurity 而在项目开发中,主要用于对用户的
-
MyBatis-Plus拦截器对敏感数据实现加密
目录 一.定义注解 二.定义拦截器类 做课程项目petstore时遇到需要加密属性的问题,而MyBatis-Plus为开发者提供了拦截器的相关接口,用于与数据库交互的过程中实现特定功能,本文主要介绍通过MyBatis-Plus的拦截器接口自定义一个拦截器类实现敏感数据如用户密码的加密功能,即实现在DAO层写入数据库时传入明文,而数据库中存储的是密文.由于加密算法有多种,这里不展示具体的加密步骤,主要讨论拦截器的构建. 一.定义注解 自定义相关注解,将需要加密的字段及其所在的实体类进行标注,方便拦
-
mybatis-plus 拦截器敏感字段加解密的实现
目录 背景 一.查询拦截器 二.插入和更新拦截器 三.注解 背景 数据库在保存数据时,对于某些敏感数据需要脱敏或者加密处理,如果一个一个的去加显然工作量大而且容易出错,这个时候可以考虑使用拦截器,本文针对的是mybatis-plus作为持久层框架,其他场景未测试.代码如下: 一.查询拦截器 package com.sfpay.merchant.service.interceptor; import com.baomidou.mybatisplus.core.toolkit.CollectionU
-
spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法
问题发生: 通过@Responsebody返回 @ResponseBody @RequestMapping(value ="/selectByFormId",method = RequestMethod.GET) public Map<String,Object> getClassName(String formId){ List<String> list =formInfoService.selectClassName(formId); Map<Stri
-
mybatis-plus无法通过logback-spring输出的解决方法
目录 问题描述 解决过程 解决方案 问题描述 通过官网配置,将mybatis-plus引入spring boot项目中,但是日志只能在控制台中输出,却无法在logback的日志文件中输出 // 具体参考网址 // https://mp.baomidou.com/guide/faq.html#%E5%90%AF%E5%8A%A8-mybatis-%E6%9C%AC%E8%BA%AB%E7%9A%84-log-%E6%97%A5%E5%BF%97 mybatis-plus: configuratio
-
Mybatis传list参数调用oracle存储过程的解决方法
怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据? MyBatis中参数是List类型时怎么处理?大家都知道MyBatis批处理大量数据是很难做到事务回滚的(事务由Spring管理),都将逻辑写在存储中又是及其头疼的一件事(参数长度也有限制),那么我想的是将参数在后台封装为单个或多个list集合,直接通过MyBatis将此参数传到数据库存储过程中,一来摆脱了MyBatis批量插入数据的诸多限制(例如:不能实时返回主键.foreach标签循环集合长度有限制),二来就是在存
-
Thinkphp模板没有解析直接原样输出的解决方法
本文实例讲述了Thinkphp模板没有解析直接原样输出的解决方法.分享给大家供大家参考.具体如下: 一.问题: 最近在学习thinkphp模板了,但是发现模板页原样出来了,经过一番艰苦搜索终于找到解决方案. 二.解决方法: 很多人都碰到相同问题,在变量中赋值的字符串中包含的__ROOT__.__PUBLIC__.__APP__,这种字符的, 在模板中display出来的时候都被替换成了真实路径.话说是在写Timi文件管理系统的时候发现的这个问题. 从文件中把源码读出来输出到页面后发现,只要是TP
-
MyBatis 参数类型为String时常见问题及解决方法
1. 参数为String时的插值问题 假设有下面一Dao接口方法 public Account findByAccountType (String type)throws DaoException; 对应的Mapper.xml <select id="findByAccountType " parameterType="string" resultType="account"> select * form account <wh
-
mybatis注入Date日期值为null的解决方法
在今天的一次代码编写中,突然遇到了一个奇怪的问题,在使用mybatis进行Date类型插入时,可以很顺利的就插入进数据库中了,可是当我想从mysql中取出Date类型的值注入java中的Date类型时,发现传递过来的值是空的,但是不管是映射还是命名规范都是正确的,就非常的奇怪. 数据库设计: 映射类的设计: @Data public class BorrowTime { //借书时间 private Date borrowTime; //过期时间 private Date expiredTime
-
普通类注入不进spring bean的解决方法
解决问题:我在做移动端accessToken的使用遇到一个问题,就是普通类死活注入不进去spring bean,我和同事雷杰通过各种注解,xml配置搞了好久都搞不定,这里插个眼,有空补一下spring,得深入研究一下 解决办法:后面通过一个spring工具类搞定,这里贴上代码 1.引入这个springUtil类 2.通过构造方法注入 贴上SpringUtils代码: package com.dt.base.weixin.util; import org.springframework.aop.f
-
Spring自动扫描无法扫描jar包中bean的解决方法
发现问题 前几天用eclipse打包了一个jar包,jar包里面是定义的Spring的bean. 然后将jar包放到lib下,设置spring的自动扫描这个jar包中的bean,可谁知根本无法扫描到bean,显示错误就是找不到bean,当时就纳闷儿了,为什么扫描不到,结果搜索之后才发现,用eclipse打包jar包要勾选"Add directory entries"才能被Spring正确扫描到,居然有这个说法,呵呵- 不知道 勾选"Add directory entries&
-
MyBatis 与 Spring 的完美整合方法
MyBatis-Spring 项目 目前大部分的 Java 互联网项目,都是用 Spring MVC + Spring + MyBatis 搭建平台的. 使用 Spring IoC 可以有效的管理各类的 Java 资源,达到即插即拔的功能:通过 Spring AOP 框架,数据库事务可以委托给 Spring 管理,消除很大一部分的事务代码,配合 MyBatis 的高灵活.可配置.可优化 SQL 等特性,完全可以构建高性能的大型网站. 毫无疑问,MyBatis 和 Spring 两大框架已经成了
-
Mybatis一级缓存和结合Spring Framework后失效的源码探究
1.在下面的案例中,执行两次查询控制台只会输出一次 SQL 查询: mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"
随机推荐
- 利用JAVA实现DES加密算法
- JQuery onload、ready概念介绍及使用方法
- 在Win2003中安装bind教程(部署智能DNS)
- Android中使用TextView实现图文混排的方法
- MyBatis 动态拼接Sql字符串的问题
- java中通过网卡名称获取IP地址
- js中事件的处理与浏览器对象示例介绍
- 学习Bootstrap滚动监听 附调用方法
- Pyramid Mako模板引入helper对象的步骤方法
- Python之PyUnit单元测试实例
- WinForm实现自定义右下角提示效果的方法
- C语言数据结构中串的模式匹配
- PHP实现原比例生成缩略图的方法
- jquery实现的省市区三级联动
- javascript 常用代码技巧大收集
- react-native之ART绘图方法详解
- Java实现验证码具体代码
- Hibernate中的多表查询及抓取策略
- C#简单读写txt文件的方法
- C++友元(Friend)用法实例简介