日志配置(springboot、mybatis、Lombok)


Spring Boot在所有內部日志中使用Commons Logging,但是默認配置也提供了對常用日志的支持,如:Java Util LoggingLog4J, Log4J2Logback。每種Logger都可以通過配置使用控制台或者文件輸出日志內容

 

SLF4J——Simple Logging Facade For Java,它是一個針對於各類Java日志框架的統一Facade抽象。

Java日志框架眾多——常用的有java.util.logging, log4j, logback,commons-logging, Spring框架使用的是Jakarta Commons Logging API (JCL)。

而SLF4J定義了統一的日志抽象接口,而真正的日志實現則是在運行時決定的——它提供了各類日志框架的binding。

 

springboot默認日志:Logback

Logback

  • 時間日期:精確到毫秒

  • 日志級別:ERROR, WARN, INFO, DEBUG or TRACE

  • 進程ID

  • 分隔符:--- 標識實際日志的開始

  • 線程名:方括號括起來(可能會截斷控制台輸出)

  • Logger名:通常使用源代碼的類名

  • 日志內容

springboot中的jar依賴

spring-boot-starter中spring-boot-starter-logging

Thymeleaf依賴spring-boot-starter

控制台輸出

日志級別從低到高分為TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果設置為WARN,則低於WARN的信息都不會輸出。

Spring Boot中默認配置ERROR、WARN和INFO級別的日志輸出到控制台,在application.properties中配置debug=true,可開啟debug級別日志

文件輸出

如果要輸出文件,需在application.properties中設置logging.file或logging.path屬性。

注:二者不能同時使用,如若同時使用,則只有logging.file生效

默認情況下,日志文件的大小達到10MB時會切分一次,產生新的日志文件,默認級別為:ERROR、WARN、INFO,

要設置日志級別用logging.level,格式為:'logging.level.* = LEVEL'

springboot下自定義日志配置

 不同的日志系統,可以按如下規則組織配置文件名:

Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
Log4j2:log4j2-spring.xml, log4j2.xml
JDK (Java Util Logging):logging.properties

 

整合mybatis,如果需要將sql語句輸出則需要設置

 logging.level.com.tylnn.dao.*=DEBUG

總結一下,之前設置了好久總是不能成功的將sql語句輸出到日志中,主要原因:

springboot的application屬性文件中,設置了mybatis的輸出類為

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl (這是指控制台輸出)

然后mybatis中的mybatis-config.xml文件中卻配置成了LOG4J

<settings>
<!-- 打印查詢語句 -->
<setting name="logImpl" value="LOG4J" /> 
</settings>

補充說下,MyBatis 所用日志的具體實現,未指定時將自動查找。

SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING

springboot下lombok日志插件的集成

一般在代碼中要引用log對象,需要先手動將這個對象創建出來,比如:private static final Logger log = LoggerFactory.getLogger(XXX.class);

這樣的話,這里的XXX就需要根據類名的不通,每個進入類中逐一更改,甚是麻煩,為此就發現了lombok這個插件。

要使用這個插件,以eclipse為例:分2部分,1個是裝插件,2個是代碼中引用jar包

一.裝插件

1.需要下載lombok的jar包,下載地址: https://projectlombok.org/download.html

2.雙擊lombok.jar,一直選到eclipse.ini文件,點擊"install/update"

3.重啟eclipse

二.代碼中引用jar包

1.pom文件引用

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>

2.代碼中引用

controller類上加入注解@Slf4j

@RestController
@Slf4j
public class LombokTestController{}

方法中直接使用

log.info("測試lombok日志");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM