mybatis-plus無(wú)法通過(guò)logback-spring輸出日志問(wèn)題及解決
mybatis-plus可以在控制臺(tái)打印,卻無(wú)法通過(guò)logback輸出
問(wèn)題描述
通過(guò)官網(wǎng)配置,將mybatis-plus引入spring boot項(xiàng)目中,但是日志只能在控制臺(tái)中輸出,卻無(wú)法在logback的日志文件中輸出
// 具體參考網(wǎng)址
// 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
解決過(guò)程
1、點(diǎn)擊進(jìn)入StdOutImpl方法中查看,此方法是通過(guò)System.out.println打印的,logback在非配置情況下無(wú)法輸出此內(nèi)容。
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項(xiàng)目使用nohup命令啟動(dòng)未指定日志文件輸出,所有日志均會(huì)輸出到nohup.out中。可以定時(shí)寫(xiě)一個(gè)shell腳本,按日期切割nohup.out中內(nèi)容,棄用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種方法都不太適用于我當(dāng)前的需求,需要換個(gè)角度解決這個(gè)問(wèn)題,比如,放棄使用StdOutImpl來(lái)輸出日志
解決方案
不使用StdOutImpl輸出日志,去掉log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 配置。
在application.yml中使用常規(guī)logback-spring配置。
logging: level: com.XXX.mapper: debug
就可以正常輸出sql語(yǔ)句了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)發(fā)送手機(jī)短信語(yǔ)音驗(yàn)證功能代碼實(shí)例
這篇文章主要介紹了Java實(shí)現(xiàn)發(fā)送手機(jī)短信語(yǔ)音驗(yàn)證功能代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
深入分析Spring BeanDefinition的構(gòu)造元信息
Bean Definition是一個(gè)包含Bean元數(shù)據(jù)的對(duì)象,它描述了如何創(chuàng)建Bean實(shí)例、Bean屬性的值以及Bean之間的依賴(lài)關(guān)系,本文將帶大家深入分析Spring BeanDefinition的構(gòu)造元信息,需要的朋友可以參考下2024-01-01
Java中檢查值是否存在于數(shù)組中的4種詳細(xì)方法
這篇文章主要給大家介紹了關(guān)于Java中檢查值是否存在于數(shù)組中的4種詳細(xì)方法,相信大家在操作Java的時(shí)候經(jīng)常會(huì)要檢查一個(gè)數(shù)組(無(wú)序)是否包含一個(gè)特定的值,需要的朋友可以參考下2023-08-08
Java中的線(xiàn)程池如何實(shí)現(xiàn)線(xiàn)程復(fù)用
這篇文章主要介紹了Java中的線(xiàn)程池如何實(shí)現(xiàn)線(xiàn)程復(fù)用問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

