成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

今天又學了 Spring Boot logging,你學會了嗎?

開發 前端
spring boot 內部使用的是 apache 開源的 commons logging 來記錄日志的。但是呢,它又提供了基礎的日志實現接口,方便向 java util logging、 log4j、logback之類的接入。spring boot 現在已經為 Java util logging 、log4j2、logback 提供了默認的實現。我們如果需要使用的話,只要簡單配置就可以了。

大家好,我是指北君。

今天指北君將要帶實習生來了解下 Spring Boot 中日志框架的使用。

實習生:大佬好,今天你要講什么呀?

指北君:今天跟你講講 Spring Boot 日志是怎么回事的,先看下我整理的思維導圖吧。

圖片

今天就從這幾個角度來講。

實習生:好的,那我們先來看看概述吧。

圖片

指北君:spring boot 內部使用的是 apache 開源的 commons logging 來記錄日志的。但是呢,它又提供了基礎的日志實現接口,方便向 java util logging、 log4j、logback之類的接入。spring boot 現在已經為 Java util logging 、log4j2、logback 提供了默認的實現。我們如果需要使用的話,只要簡單配置就可以了。

實習生:要這么說的話,spring boot 可真nb啊,輕輕松松就搞定了。你剛剛說了 spring boot 已經內置實現了 logback 這些, 那我看你圖里還有starter的描述啊,默認所有的都夾在進來了嗎?

指北君:小伙子可以啊,spring boot 當然沒有把所有的都加載進來,條件自動化配置你忘記了嗎?如果我們項目只依賴了一個 spring-boot-starter 的話,你看我這個項目的依賴圖,自由這么幾個,如果你想依賴 log4j2 的話,你要添加 spring-boot-starter-log4j2 才行。

圖片

實習生:soga, 我懂了。

指北君:我們來看看日志的輸出格式是怎么樣的。我們平時啟動項目的時候,在控制臺上看到的這些內容,是有固定的格式的。

圖片

一開始是日期和時間,然后是日志的等級、線程ID、分割線、線程名稱、logger name 、日志消息。我在思維導圖里做了歸納, 日志等級這里我使用的是logback的等級制度,部分其他的會是以FATAL 代替 ERROR 的。

圖片

實習生:這個挺簡單的呀。你這么一畫,我感覺很清晰啊。你看這個終端輸出那里有不同的顏色,這個是怎么配置的呢?

指北君:不要著急啊, 你看我的思維導圖,下一個環節不就是要講了嗎?

圖片

默認情況下,spring boot 項目的日志輸出方式是控制臺輸出。控制臺輸出一般情況下只有3中輸出方式,就是上面寫的 ERROR、WARN、INFO。因為打開debug的話,所有其他的日志都會打出來,對我們開發來說不太方便。

實習生:那這個還是可以打開的吧,或者我想調試spring boot 的啟動過程之類的,我就想把它打開,這樣我對啟動過程可以看的更加清楚一些。

指北君:是的,你可以打開,而且也挺方便的。有兩種方式,第一種方式就是通過命令行設置

java -jar myapp.jar --debug

第二種:在配置文件里直接配置就行

application.properties 配置 debug=true

至于,剛才你說到的顏色問題,其實也蠻簡單的,如果你的控制臺支持 ASNI 的話,就配置一下就可以了,主要是配置%clr 這個輕輕松松搞定了。直接看思維導圖就行了。

實習生:你說的沒錯,但是我還有一個疑問,ASNI是什么?

指北君:這玩意就是一種編碼方式,一句兩句也講不清楚,我給你搜索一下吧。

ANSI是一種字符代碼,為使計算機支持更多語言,通常使用 0x00~0x7f 范圍的1 個字節來表示 1 個英文字符。超出此范圍的使用0x80~0xFFFF來編碼,即擴展的ASCII編碼。

指北君:接下來我們看看文件輸出日志的配置,默認情況下我們只要在applicaiton.properties文件直接配置就行了。

logging.file.name=app.log
logging.file.path=/xxx

實習生:這個我知道,但是你導圖上寫的文件分割,又是怎么回事呢?

圖片

指北君:這個你都沒懂嗎?我們日志寫入到文件里之后,如果我們不處理的話,文件可以把你電腦寫爆了。另一方面,方便我們處理日志文件啊。

實習生:好的,大佬我錯了。我怎么沒想到呢。

指北君:別扯這些,我們繼續來看。

圖片

實習生:你這個寫的啥意思啊?沒懂,上面不是講過了,再講一遍?

指北君:上面只是提了下等級,并沒有提怎么設置,你看仔細了,我們可以針對某個package來設置日志輸出的等級。

實習生:唉,這個我怎么沒想到呢,可以單獨設置。我之前看項目我都沒注意到這個問題。

指北君:沒關系,現在不是已經知道了嗎?我們繼續吧。

圖片

實習生:好的,大佬,你這里寫的日志關閉hook是干啥的?

指北君:其實這個就像我們spring boot 怎么做到優雅停機一樣。我們要做到先把日志打印入口先關閉了,然后把打印的日志打印完,我再結束我這個日志打印的線程。

實習生:你這么說我就明白了。

指北君:上面講述的都是通過配置spring boot 默認實現的方式來配置日志,我們還可以自己個性化配置日志輸出的情況。在這我們以前spring 項目的時候,是很常見的。我們現在也一直在延續使用這種方式。

圖片

實習生:那你這個最后那個環節 也是和這個自定義配置有關了吧

圖片

指北君:你小子眼睛還挺尖的啊,我這里主要是說明兩個東西,一個是 spring boot profiles在日志文件中的應用。

<springProfile name="dev | staging">
...
</springProfile>

另外一個是怎么引入 sping的環境變量。

<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"
defaultValue="localhost"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
<remoteHost>${fluentHost}</remoteHost>
...
</appender>

實習生:hoho,可以啊,這操作不錯。

總結

指北君今天就是帶大家過一遍 spring boot logging 是什么一回事,怎么配置使用的。

本文的所有示例源代碼和完整的思維導圖都已上傳到了 Github:

https://github.com/javatechnorth/java-north-sample

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2022-07-11 09:00:37

依賴配置文件Mybati

2024-01-02 07:04:23

2023-11-06 07:25:51

Spring配置應用程序

2022-06-27 08:16:34

JSON格式序列化

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2023-01-10 08:43:15

定義DDD架構

2023-05-05 08:29:15

Spring后臺服務器

2022-04-26 08:41:54

JDK動態代理方法

2024-03-04 07:41:18

SpringAOPOOP?

2023-10-10 11:04:11

Rust難點內存

2024-05-06 00:00:00

InnoDBView隔離

2024-07-31 08:39:45

Git命令暫存區

2023-01-30 09:01:54

圖表指南圖形化

2022-07-08 09:27:48

CSSIFC模型

2023-12-12 08:02:10

2024-08-06 09:47:57

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 户外露出一区二区三区 | 亚洲永久免费观看 | 射久久 | 午夜视频在线观看一区二区 | 欧美黑人狂野猛交老妇 | 成人精品久久日伦片大全免费 | 91亚洲精华国产 | 成人午夜免费在线视频 | 一区二区三区四区不卡视频 | 久久精品一区二区三区四区 | 欧美精品日韩精品 | 国产精品免费一区二区三区四区 | 特a毛片| 国产视频一区二区 | 一区二区三区免费 | 99精品欧美一区二区三区 | 国产高清视频在线观看 | 在线视频 欧美日韩 | 一呦二呦三呦国产精品 | 久久久久国产一区二区三区四区 | 国产在线区 | 国产精品一区二区不卡 | 成人免费观看男女羞羞视频 | 亚洲国产成人精品久久久国产成人一区 | 日韩精品无码一区二区三区 | 亚洲区一区二 | 欧美性成人 | 国产一级片一区二区 | 国产欧美一区二区三区久久人妖 | 亚洲国产成人av | 麻豆一区二区三区精品视频 | 国产精品免费播放 | 亚洲精品亚洲人成人网 | 国产成人午夜精品影院游乐网 | 一区二区三区在线免费观看 | 国产高清美女一级a毛片久久w | 亚洲精品久久久久久久久久久 | 欧洲亚洲一区 | 国产精品视频97 | av影音|