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%97mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
解决过程
【mybatis-plus无法通过logback-spring输出的解决方法】1、点击进入StdOutImpl方法中查看,此方法是通过System.out.println打印的,logback在非配置情况下无法输出此内容。
2、System.out.println在logback打印文件中输出,我查到三种方法
方法一:
System.setOut(new PrintStream(new File("日志路径"))); System.out.println();
方法二:使用jar包
uk.org.lidalia sysout-over-slf4j1.0.2
web.xml 文件中添加
uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4JServletContextListener
方法三:spring-boot项目使用nohup命令启动未指定日志文件输出,所有日志均会输出到nohup.out中。可以定时写一个shell脚本,按日期切割nohup.out中内容,弃用logback输出的日志文件
this_path=$(cd `dirname $0`; pwd)cd $this_pathecho $this_pathcurrent_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输出内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 解决SpringBoot引用别的模块无法注入的问题
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- Android7.0|Android7.0 第三方应用无法访问私有库
- 无论你是谁,都有两件事,无法掌控
- whlie循环和for循环的应用
- 没有思考时
- 如何通过锻炼的方法治疗前列腺肥大
- 2021.4.8日《我们为什么无法摆脱慢性疾病》常斌
- 插件化无法获取或找到.so文件
- 通过复盘快速成长(附模板)