摘要:這篇文章是邊聽尚硅谷的課程邊記的筆記,也是為了之后方便查看,視頻鏈接精彩的故事小張負責一個大型系統的開發,為了監控系統的運行狀況,系統中包含大量的語句,為了更好地管理呢,小張決定寫一個日志框架對日志進行管理,他設想的日志框架應該包含以下幾個
這篇文章是邊聽尚硅谷的課程邊記的筆記,也是為了之后方便查看,視頻鏈接:https://www.bilibili.com/vide...
1. 精彩的故事小張負責一個大型系統的開發,為了監控系統的運行狀況,系統中包含大量的System.out.println()語句,為了更好地管理呢,小張決定寫一個日志框架對日志進行管理,他設想的日志框架應該包含以下幾個功能:
日志應該能分為不同的等級
日志應該按天保存在文件中
在此基礎上小張開發出了這樣一個日志框架,但是為了使用這個日志框架,當小張修改了這個日志框架中的內容之后,系統中相關的代碼都需要進行修改。為此,小張想到了一種模式:
小張為所有的日志框架寫了一個統一的接口層:日志門面(抽象層),該日志門面定義了通用的功能接口,具體的實現可以有不同的實現
日志門面(日志抽象層) | 日志實現 |
---|---|
Jakarta Commons Logging(不再更新),jboss-logging(生來不為普通程序猿所用), slf4j | log4j(落后),java.util.Logging(不好用),Logback,Log4j2(與Log4j開發不是同一人) |
最終選擇:日志門面:slf4j 日志實現:Logback
3. slf4j如何在系統中使用slf4j,在系統中導入slf4j和logback的jar包
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.info("Hello World"); } }
每個日志框架都有自己的配置文件,使用slf4j后,配置文件還是使用日志實現框架自己本身的配置文件
4. 日志框架兼容問題假如我現在開發A系統用的日志框架是slf4j+logback,但是開發系統時用到了spring框架(框架本身的日志記錄依賴common-logging),Hibernate(jboss),Mybatis....那么我這個系統如何統一使用slf4j+logback進行日志記錄??
解決方案:
將系統中其他日志框架先排除掉
用中間包來替換原有的日志框架
再導入slf4j的其他的實現
5. SpringBoot日志關系spring-boot-starter
org.springframework.boot spring-boot-starter
sring-boot-starter-logging
org.springframework.boot spring-boot-starter-logging
總結:
SpringBoot底層也是使用slf4j+Logback的方式進行日志記錄;
SpringBoot也把其他的日志框架替換成了slf4j
如果我們引入了其他框架,一定要把這個框架的默認日志框架移除掉
6. SpringBoot日志使用 1. 默認配置org.springframework spring-core commons-logging commons-logging
SpringBoot默認給我們配置好了日志,可以直接使用,默認的日志級別是info;
Logger logger = LoggerFactory.getLogger(getClass()); @Test public void contextLoads() { /*日志級別trace2. 修改日志的配置 # 配置整個項目的日志級別 logging.level.root=debug # 配置指定包下面的日志級別 logging.level.com.luhuiling=info # logging.file指定日志文件的名稱,如果不指定,日志只在控制臺輸出 logging.file=D:/springboot.log # logging.path指定日志文件的路徑,如果不指定,文件將存放在項目根目錄下 logging.path # 控制臺輸出日志的格式 logging.pattern.console # 文件中輸出日志的格式 logging.pattern.file
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76599.html
摘要:在年首次發表了這種語言,另外與也是這語言的共同設計者。每種都可以通過配置使用控制臺或者文件輸出日志內容。可以通過是中的一個設置的日志級別。參考文檔新年彩蛋自定義參考指南配置類配置詳解 導讀: 在上篇文章學習到了如何搭建一個簡單的Spring Boot的項目,這篇文章我們主要圍繞Spring Boot的外部化文件展開, 快速開始:外部化配置 首先是一個典型的Spring Boot的項...
摘要:這里使用的是數據庫啟動類上加上注解在啟動類中添加對包掃描掃描多個包下的可以有以下幾種方法掃描會自動加載相關配置,數據源就會自動注入到中,會自動注入到中,可以直接使用。有配置文件下的使用掃描多個包下的可以有以下幾種方法掃描 Spring-Boot 學習筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團隊提供的全新框架...
摘要:背景這段時間較忙,有些想念小紅,為了表達我對小紅的思念之情,決定將啟動的研究一下,看看是否能夠自定義,讓我天天能夠看到她。 背景 這段時間較忙,有些想念小紅,為了表達我對小紅的思念之情,決定將spring boot啟動的banner研究一下,看看是否能夠自定義,讓我天天能夠看到她。 展示 經過調研,發現自定義banner是一個輕松愉快的過程,忍不住讓我多啟動幾次,先看看效果:(省略了一...
閱讀 3403·2021-11-24 09:38
閱讀 3189·2021-11-22 09:34
閱讀 2098·2021-09-22 16:03
閱讀 2349·2019-08-29 18:37
閱讀 371·2019-08-29 16:15
閱讀 1761·2019-08-26 13:56
閱讀 853·2019-08-26 12:21
閱讀 2198·2019-08-26 12:15