javascript
SpringBoot笔记整理(二)
SpringBoot筆記整理(一)
SpringBoot筆記整理(二)
SpringBoot筆記整理(三)
SpringBoot筆記整理(四)
Spring Boot與日志(日志框架、日志配置)
1、市面上的日志框架
JUL、JCL、Jboss-logging、logback、log4、log4j2、slf4j……
| 日志門面 | 日志實現(xiàn) |
| JCL(Jakarta Commons Logging)、SLF4j(Simple Logging Facade for Java)、Jboss-logging | Log4j JUL(java.util.logging)、Log4j2、Logback |
左邊選一個門面(抽象層)、右邊選一個實現(xiàn)
日志門面:SLF4J;
日志實現(xiàn):LogBack;
SpringBoot:底層是Spring框架,Spring框架默認是用JCL;
SpringBoot選用 SLF4j和LogBack
2、SLF4j使用
2.1 如何在系統(tǒng)中使用SLF4j
開發(fā)的時候,日志記錄方法的調(diào)用,不應(yīng)該來直接調(diào)用日志的實現(xiàn)類,而是調(diào)用日志抽象層里面的方法
應(yīng)該給系統(tǒng)里面導(dǎo)入slf4j的jar 和 LogBack的實現(xiàn)jar
每一個日志的實現(xiàn)框架都有自己的配置文件。使用slf4j以后,配置文件還是做成日志實現(xiàn)框架的配置文件
2.2 遺留問題
a (slf4j + logback):Spring (commons-logging)、Hibernate(jboss-logging)、MyBatis……
統(tǒng)一日志記錄,即使是和別的框架統(tǒng)一使用slf4j進行輸出
如何讓系統(tǒng)中所有的日志都統(tǒng)一到slf4j:
1、將系統(tǒng)中其他日志框架先排除出去;
2、用中間包來替換原有的日志框架;
3、導(dǎo)入slf4j其他的實現(xiàn)
3、SpringBoot日志關(guān)系
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>2.2.1.RELEASE</version><scope>compile</scope> </dependency>SpringBoot使用它來做日志功能
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId><version>2.2.1.RELEASE</version><scope>compile</scope> </dependency>總結(jié):
1)SpringBoot底層也是使用slf4j+logback的方式進行日志記錄
2)SpringBoot也把其他的日志都替換成了slf4j
3)中間替換包
4)如果我們要引入其他框架,一定要把這個框架的默認日志依賴移除掉
Spring框架用的是commons-logging;
SpringBoot能自動適配所有的日志,而且底層使用slf4j+logback的方式記錄日志,引入其他框架的時候,只需要把這個框架的日志框架排除掉
4、日志使用
4.1 默認配置
SpringBoot默認幫我們配置好了日志
SpringBoot修改日志的默認配置
logging.level.com.homyit = trace#不指定路徑在當(dāng)前項目下生成springboot.log日志 #可以指定完整的路徑 #logging.file = D:/springboot.log #logging.file = springboot.log#在當(dāng)前磁盤的根路徑下創(chuàng)建spring文件夾和里面的log文件夾:使用spring.log作為默認文件 #logging.path = /spring/log#在控制臺輸出的日志格式 logging.pattern.console = %d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n#指定問價中日志輸出的格式 logging.pattern.file=%d{yyyy-MM-dd} ===[%thread]=== %-5level=== %logger{50} -==== %msg%n4.2 指定配置
給類路徑下放上每個日志框架自己的配置文件即可,SpringBoot就不使用默認配置了
logback.xml:直接就被日志框架識別了;
logback-spring.xml:日志框架就不直接加載日志的配置項,由SpringBoot解析日志配置,可以使用SpringBoot的高級Profile功能
否則會報錯
4.3 切換日志
總結(jié)
以上是生活随笔為你收集整理的SpringBoot笔记整理(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库基础知识——数据库的相关概念
- 下一篇: Jupyter notebook绘制热力