日志配置(springboot、mybatis、Lombok)
Spring Boot在所有內(nèi)部日志中使用Commons Logging,但是默認(rèn)配置也提供了對(duì)常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每種Logger都可以通過配置使用控制臺(tái)或者文件輸出日志內(nèi)容
?
SLF4J——Simple Logging Facade For Java,它是一個(gè)針對(duì)于各類Java日志框架的統(tǒng)一Facade抽象。
Java日志框架眾多——常用的有java.util.logging, log4j, logback,commons-logging, Spring框架使用的是Jakarta Commons Logging API (JCL)。
而SLF4J定義了統(tǒng)一的日志抽象接口,而真正的日志實(shí)現(xiàn)則是在運(yùn)行時(shí)決定的——它提供了各類日志框架的binding。
?
springboot默認(rèn)日志:Logback
Logback
-
時(shí)間日期:精確到毫秒
-
日志級(jí)別:ERROR, WARN, INFO, DEBUG or TRACE
-
進(jìn)程ID
-
分隔符:--- 標(biāo)識(shí)實(shí)際日志的開始
-
線程名:方括號(hào)括起來(可能會(huì)截?cái)嗫刂婆_(tái)輸出)
-
Logger名:通常使用源代碼的類名
-
日志內(nèi)容
springboot中的jar依賴
spring-boot-starter中spring-boot-starter-logging
Thymeleaf依賴spring-boot-starter
控制臺(tái)輸出
日志級(jí)別從低到高分為TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果設(shè)置為WARN,則低于WARN的信息都不會(huì)輸出。
Spring Boot中默認(rèn)配置ERROR、WARN和INFO級(jí)別的日志輸出到控制臺(tái),在application.properties中配置debug=true,可開啟debug級(jí)別日志
文件輸出
如果要輸出文件,需在application.properties中設(shè)置logging.file或logging.path屬性。
注:二者不能同時(shí)使用,如若同時(shí)使用,則只有l(wèi)ogging.file生效
默認(rèn)情況下,日志文件的大小達(dá)到10MB時(shí)會(huì)切分一次,產(chǎn)生新的日志文件,默認(rèn)級(jí)別為:ERROR、WARN、INFO,
要設(shè)置日志級(jí)別用logging.level,格式為:'logging.level.* = LEVEL'
springboot下自定義日志配置
?不同的日志系統(tǒng),可以按如下規(guī)則組織配置文件名:
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語句輸出則需要設(shè)置
?logging.level.com.tylnn.dao.*=DEBUG
總結(jié)一下,之前設(shè)置了好久總是不能成功的將sql語句輸出到日志中,主要原因:
springboot的application屬性文件中,設(shè)置了mybatis的輸出類為
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl (這是指控制臺(tái)輸出)
然后mybatis中的mybatis-config.xml文件中卻配置成了LOG4J
<settings>
<!-- 打印查詢語句 -->
<setting name="logImpl" value="LOG4J" />?
</settings>
補(bǔ)充說下,MyBatis 所用日志的具體實(shí)現(xiàn),未指定時(shí)將自動(dòng)查找。
SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING
springboot下lombok日志插件的集成
一般在代碼中要引用log對(duì)象,需要先手動(dòng)將這個(gè)對(duì)象創(chuàng)建出來,比如:private static final Logger log = LoggerFactory.getLogger(XXX.class);
這樣的話,這里的XXX就需要根據(jù)類名的不通,每個(gè)進(jìn)入類中逐一更改,甚是麻煩,為此就發(fā)現(xiàn)了lombok這個(gè)插件。
要使用這個(gè)插件,以eclipse為例:分2部分,1個(gè)是裝插件,2個(gè)是代碼中引用jar包
一.裝插件
1.需要下載lombok的jar包,下載地址:?https://projectlombok.org/download.html
2.雙擊lombok.jar,一直選到eclipse.ini文件,點(diǎn)擊"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("測(cè)試lombok日志");
?
轉(zhuǎn)載于:https://www.cnblogs.com/bestruggle/p/10050178.html
總結(jié)
以上是生活随笔為你收集整理的日志配置(springboot、mybatis、Lombok)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秒懂机器学习---当机器学习遇上决策树.
- 下一篇: 软件需求说明书/ 概要设计说明书/项目开