国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一. 關(guān)于 Spring Boot 日志的使用

Spring Boot 日志機(jī)制和工具用于記錄應(yīng)用程序的日志信息和追蹤應(yīng)用程序的執(zhí)行過(guò)程。它集成了常用的日志框架,如 Log4j、logback、Java Util Logging等,并提供簡(jiǎn)單易用的配置方式,讓開發(fā)人員可以方便地監(jiān)控應(yīng)用程序的運(yùn)行狀態(tài)和性能。在項(xiàng)目啟動(dòng)時(shí),日志已經(jīng)開始輸出,但尚未持久化。下面是一個(gè)最簡(jiǎn)單、最常見的日志示例。
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

二. 日志的作用

日志是記錄應(yīng)用程序運(yùn)行狀態(tài)和運(yùn)行過(guò)程中所發(fā)生的事件的一種技術(shù)手段。它能夠幫助開發(fā)人員更容易地追蹤和排查問(wèn)題,同時(shí)還可以提高應(yīng)用程序的安全性、穩(wěn)定性和可靠性。

在軟件開發(fā)過(guò)程中,日志可以:

1.調(diào)試程序:當(dāng)程序出現(xiàn)問(wèn)題時(shí),可以查看日志文件以分析問(wèn)題的原因,從而進(jìn)行適當(dāng)?shù)男迯?fù)。

2.跟蹤操作:在應(yīng)用程序中記錄用戶操作,以便進(jìn)行回顧和審計(jì),保證系統(tǒng)安全。

3.監(jiān)控性能:對(duì)于服務(wù)器端應(yīng)用程序,可以記錄響應(yīng)時(shí)間、CPU、內(nèi)存和硬盤使用情況等指標(biāo),以便及時(shí)發(fā)現(xiàn)并解決性能問(wèn)題。

4.系統(tǒng)運(yùn)行情況:記錄應(yīng)用程序在不同環(huán)境下的運(yùn)行狀態(tài)、故障等,以便于開發(fā)人員和管理員及時(shí)了解系統(tǒng)運(yùn)行情況,保證系統(tǒng)的穩(wěn)定性和可靠性。

5.統(tǒng)計(jì)數(shù)據(jù):將日志文件作為數(shù)據(jù)來(lái)源,進(jìn)行統(tǒng)計(jì)分析,以便了解用戶行為、訪問(wèn)量等信息,從而進(jìn)行決策和規(guī)劃。

總而言之,日志是一種非常重要的技術(shù)手段,它能夠幫助開發(fā)人員更好地維護(hù)應(yīng)用程序、改進(jìn)用戶體驗(yàn)和提高應(yīng)用程序的穩(wěn)定性和可靠性。從上面的 Spring Boot 項(xiàng)目啟動(dòng)日志可以看出,啟動(dòng)過(guò)程中打印了一些信息,其中包括 BUG 等級(jí)和端口號(hào)等。然而,這些僅僅是啟動(dòng)日志的一小部分,實(shí)際上日志還能記錄更多的信息。

記錄登陸日志, 利于分析用戶是否正常登陸, 防止其惡意攻擊破解用戶倘若我們記錄用戶的登陸日志,就能利用用戶登陸的頻率、輸入次數(shù)、地理位置等信息,對(duì)其進(jìn)行分析以判斷是否存在異地風(fēng)險(xiǎn)登陸、多次暴力破解等異常情況。
記錄系統(tǒng)的操作日志, 方便數(shù)據(jù)恢復(fù)和定位操作比如一個(gè)醫(yī)院的病歷系統(tǒng),記錄每位患者的就診情況、診斷結(jié)果、治療方案等信息。當(dāng)醫(yī)生誤診或操作失誤時(shí),比如開錯(cuò)藥、做錯(cuò)手術(shù)等,可以根據(jù)系統(tǒng)的操作日志進(jìn)行回滾操作,及時(shí)發(fā)現(xiàn)問(wèn)題并進(jìn)行糾正。同時(shí),系統(tǒng)還可以記錄每位醫(yī)生的操作記錄,便于管理人員進(jìn)行追責(zé)和改進(jìn)工作。
記錄系統(tǒng)執(zhí)行時(shí)間, 方便優(yōu)化程序做數(shù)據(jù)支撐記錄一個(gè)程序開始時(shí)間, 在結(jié)束時(shí)也記錄一下時(shí)間, 從而可以獲取到該程序的執(zhí)行時(shí)間. 執(zhí)行時(shí)間過(guò)長(zhǎng), 那么需要考慮去如何優(yōu)化它.
當(dāng)然, 除了上面列舉的一些作用, 日志還有其他重要用途, 大家可以自行探索

三.如何使用日志

對(duì)于 Spring Boot 中, 它內(nèi)置了 SLF4J 框架, 可以直接在程序中進(jìn)行調(diào)用 SLF4J 來(lái)打印日志, 并且日志一個(gè)門面模式, 何為門面模式呢?

在這舉例來(lái)說(shuō)就像找房子一樣, SLF4J 在這就充當(dāng)了這個(gè)房屋中介的作用, 而它手下不同房子就是它的實(shí)現(xiàn). 例如大平層( Log4j ) 、小洋房(logback ) 、海景別墅( Java Util Logging ). 某一天你需要租一個(gè)房子來(lái)裝你得東西, 你就去找房屋中介, 房屋中介就會(huì)給你介紹上面的幾種房屋類型, 你可以自己進(jìn)行選擇. 比如你選擇了大平層, 你住膩了可以換一個(gè)通過(guò)中介在海景別墅, 這樣你就可以省去找房子的時(shí)間, 想更換只需要通過(guò)中介進(jìn)行更換就可以了
帶入到我們的日志中, 中介就是日志的門面, 中介控制的房子就是日志的實(shí)現(xiàn) , 這樣有什么好處呢 ? 我們不再需要去關(guān)注門面, 托管給別人幫我們做了,只需要去看喜歡那個(gè)房子( 用什么日志方式去輸出就行 ) 有一天住膩了 ( 這個(gè)日志方式出了問(wèn)題 ) 就可以快速的通過(guò)中介在換一個(gè)房子( 換一個(gè)日志方式 )
, 避免在沒有地方可以去( 你所有的日志都用的這個(gè)方法去控制, 沒有中介那你想要換個(gè)房子就需要很長(zhǎng)時(shí)間去修改 )

了解了日志得門面模式以后, 接下來(lái)看看如何自定義實(shí)現(xiàn)也給日志

1. 得到日志對(duì)象

注意級(jí)別根據(jù)上述系統(tǒng)日志的啟動(dòng)記錄可以發(fā)現(xiàn),所有日志信息都屬于同一類別,因此所獲取的日志對(duì)象必定為類級(jí)別的日志對(duì)象,而非僅在某個(gè)具體方法中實(shí)現(xiàn)的方法級(jí)別對(duì)象。
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

注意作用域啟動(dòng)系統(tǒng)日志后,每個(gè)日志都會(huì)帶有其位置信息,即可以清晰看到其所在的包和類名。因此,為避免日志位置混亂,日志對(duì)象必須私有化,只能在該類內(nèi)使用,而不能在其他類中使用。
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

注意框架的選擇由于我們?cè)谑褂?SLF4J 作為門面模式時(shí), 去創(chuàng)建日志對(duì)象需要通過(guò)門面去調(diào)用具體的實(shí)現(xiàn)方式, 因此創(chuàng)建日志對(duì)象時(shí)應(yīng)當(dāng)選擇 SLF4J 下的 Logger
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

綜上, 最終通過(guò) SLF4J 的 Logger 創(chuàng)建一個(gè) log 對(duì)象, 并通過(guò)提供的日志工程去調(diào)用 getLogger ( 因?yàn)槭穷惣?jí)別的, 因此此處選擇類 的 getLogger 方法 )成功創(chuàng)建一個(gè)日志對(duì)象

Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

2. 使用 log 對(duì)象**Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

訪問(wèn)路由后在控制臺(tái)可以看到如下信息 :

PS : 日志信息打印此處和你們默認(rèn)的不一樣, 我在配置文件中設(shè)置了默認(rèn)等級(jí)為 debug, 日志系統(tǒng)默認(rèn)等級(jí)為 info, 下面會(huì)說(shuō)這個(gè)問(wèn)題,
此處只關(guān)注日志對(duì)象輸出日志有哪些內(nèi)容即可

Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

時(shí)間信息、日志等級(jí)信息、日志位置信息、日志內(nèi)容信息. 可以說(shuō)是非常的齊全日志

四. 日志等級(jí)

日志等級(jí)用于指示日志消息的重要性或嚴(yán)重程度,開發(fā)人員可以設(shè)置日志級(jí)別以過(guò)濾掉不必要的日志消息,同時(shí)也可以根據(jù)日志級(jí)別快速定位和解決日志問(wèn)題。

常見的日志等級(jí)包括:

1.DEBUG:用于調(diào)試或開發(fā)階段,產(chǎn)生大量日志;
2.INFO:提示性消息,用于標(biāo)記應(yīng)用程序的主要分支和進(jìn)度;
3.WARN:警告性消息,用于提示可能會(huì)導(dǎo)致程序問(wèn)題或潛在錯(cuò)誤的情況;
4.ERROR:標(biāo)記錯(cuò)誤事件,用于記錄程序中的錯(cuò)誤;
5.FATAL:嚴(yán)重錯(cuò)誤,可能導(dǎo)致程序崩潰或無(wú)法工作,是最高級(jí)別的日志等級(jí)。

當(dāng)設(shè)置日志級(jí)別時(shí),高級(jí)別的日志消息也會(huì)同時(shí)輸出更低級(jí)別的所有日志消息,例如設(shè)置日志級(jí)別為WARN將輸出所有的WARN、ERROR和FATAL日志消息。

總之,日志等級(jí)是日志記錄中非常重要的一個(gè)概念,它可以幫助開發(fā)人員精確排查和調(diào)試日志問(wèn)題,提高應(yīng)用程序的可維護(hù)性和可讀性。

1.trace : 微量級(jí)別, 級(jí)別最低
2.debug : 需要調(diào)試的時(shí)候使用, 調(diào)試級(jí)別
3.info : 普通的打印信息 ( 日志默認(rèn)的級(jí)別 )
4.warn : 警告, 不影響使用, 但是需要注意的問(wèn)題
4.error : 錯(cuò)誤信息, 級(jí)別比較高的錯(cuò)誤日志信息
6.fatal : 致命的, 因代碼異常導(dǎo)致程序執(zhí)行退出的事件上面就是日志的級(jí)別, 但是我們能夠操作的日志級(jí)別只有前五個(gè), 最后一個(gè)致命的日志級(jí)別是無(wú)法操控的, 當(dāng)程序錯(cuò)誤退出的時(shí)候, 系統(tǒng)會(huì)自動(dòng)幫我們打印fatal 級(jí)別的日志信息.
從上之下, 級(jí)別是越來(lái)越高的, 越往下接收的消息越少, 遵守一個(gè)原則低級(jí)別的無(wú)法查看高級(jí)別的

Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

可以看到, 只能查看到 info、warn 和 error 級(jí)別的錯(cuò)誤信息, 而 trace 和 debug 是無(wú)法查看的, 這是為什么呢 ?當(dāng)我們把 info 注銷掉在看看

Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐
可以看到, 只有 info 不見了, 在把 warn 和 error 注釋掉看看
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

此時(shí)沒有任何日志信息, 可以得到結(jié)論 日志的默認(rèn)等級(jí)是 info, 哪當(dāng)我們想查看 trace 和 debug 的日志信息怎么辦呢 ?
畢竟調(diào)試日志對(duì)于寫程序來(lái)說(shuō)是很重要的, 可以定位問(wèn)題所在 ,
下面就介紹一下 Spring Boot 中項(xiàng)目中日志的等級(jí)設(shè)置

五. 日志級(jí)別設(shè)定

開發(fā)人員可以根據(jù)實(shí)際需要設(shè)置日志級(jí)別,從而控制日志輸出的內(nèi)容。通常來(lái)說(shuō),開發(fā)人員應(yīng)該將日志級(jí)別設(shè)置為INFO或者以上級(jí)別,避免輸出過(guò)多無(wú)用信息。同時(shí),可以根據(jù)實(shí)際情況將日志級(jí)別調(diào)整為更高或更低級(jí)別,以滿足具體的需求。

日志級(jí)別的設(shè)定是優(yōu)化日志輸出的關(guān)鍵。在開發(fā)過(guò)程中,合理設(shè)定日志級(jí)別可以幫助開發(fā)人員快速定位、解決程序中的問(wèn)題。因此,開發(fā)人員需要根據(jù)實(shí)際需求,合理設(shè)置日志級(jí)別。在 properties 配置文件中,可以使用以下代碼來(lái)設(shè)置日志等級(jí):

# 設(shè)置日志記錄級(jí)別
log4j.rootLogger=INFO

其中,log4j.rootLogger 表示根日志記錄器,INFO 表示記錄 INFO 級(jí)別及以上的日志信息。如果需要記錄更詳細(xì)的日志,可以將 INFO 換成 DEBUG 或 TRACE。

另外,也可以針對(duì)特定的包或類進(jìn)行日志等級(jí)的設(shè)置,如下所示:

log4j.logger.com.example=DEBUG

其中,com.example 表示需要設(shè)置日志等級(jí)的包或類名,DEBUG 表示記錄 DEBUG 級(jí)別及以上的日志信息?;蛘咴谂渲梦募性O(shè)定日志級(jí)別:完成配置后,我們需要使用 log 方法對(duì)程序執(zhí)行過(guò)程中的信息進(jìn)行記錄。在進(jìn)行觀察之前,建議首先打印一下 log 信息,以便了解程序在執(zhí)行時(shí)的日志情況。根據(jù)配置文件中的設(shè)置,我們可以看到由于默認(rèn)等級(jí)是 debug,因此程序執(zhí)行過(guò)程中 debug 等級(jí)的錯(cuò)誤日志信息可以被記錄下來(lái)。然而,如果想查看比 debug 更低等級(jí)的trace級(jí)別的日志信息的話,就需要將日志等級(jí)設(shè)置為 trace 了。
另外, 配置文件中除了 root(根記錄器 ) 設(shè)置為日志等級(jí)外, 還有更加詳細(xì)的日志等級(jí)設(shè)置, 為特定的包設(shè)置日志等級(jí) ,
例如下面這個(gè)配置文件中, 設(shè)置 com.example 包下的類日志等級(jí)為 info, 而 com.example.demo 包下的日志等級(jí)為 debug
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

六. 日志的存儲(chǔ)

日志作為記錄系統(tǒng)運(yùn)行狀態(tài)和問(wèn)題的重要組成部分,其存儲(chǔ)方式至關(guān)重要。為了保證系統(tǒng)日志的完整性和可靠性,需要采用合適的存儲(chǔ)方式,通常包括以下幾種:

1.文件存儲(chǔ):將日志記錄到文件中,便于查閱和分析??梢园凑諘r(shí)間、事件等方式進(jìn)行分類保存,也可以對(duì)日志進(jìn)行壓縮和歸檔處理。

2.數(shù)據(jù)庫(kù)存儲(chǔ):將日志記錄到數(shù)據(jù)庫(kù)中,可以方便的進(jìn)行查詢、分析和統(tǒng)計(jì)處理。同時(shí)還可以利用數(shù)據(jù)庫(kù)的事務(wù)機(jī)制保證數(shù)據(jù)的一致性和完整性。

3.日志聚合:將多個(gè)日志源的信息聚合到一起,形成一個(gè)整體的日志記錄。通過(guò)對(duì)這些日志進(jìn)行統(tǒng)計(jì)和分析,可快速定位問(wèn)題和進(jìn)行優(yōu)化。

不同的存儲(chǔ)方式各有優(yōu)劣,需要根據(jù)具體的需求和場(chǎng)景選擇合適的方案。無(wú)論采用何種方式,都要注意日志的保密性和安全性,在存儲(chǔ)和傳輸過(guò)程中采取相應(yīng)的加密和認(rèn)證措施,避免信息泄露和攻擊。當(dāng)然, 日志如此重要不僅僅是因?yàn)樗梢远ㄎ粏?wèn)題, 更重要的時(shí)候它可以作為數(shù)據(jù)分析, 想要數(shù)據(jù)分析肯定不能通過(guò)控制臺(tái) sout 的方式打印日志,
下次啟動(dòng)就沒有了, 因此就必須將日志進(jìn)行持久化, 下面就來(lái)實(shí)現(xiàn)日志的持久化操作

在 yml 配置文件中設(shè)置. 設(shè)置文件路徑, 文件的名稱可以不寫( 寫了生成的就是你設(shè)置的名稱 ), 會(huì)自動(dòng)生成一個(gè)名為 spring.log 的文件
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐
再去運(yùn)行剛剛的 log 方法, 此時(shí)在我剛剛的保存路徑底下就生成了這樣一個(gè) spring.log 文件
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐
當(dāng)我重復(fù)去訪問(wèn)這個(gè)方法時(shí), 它會(huì)重復(fù)打印日志, 我們來(lái)看看會(huì)不會(huì)覆蓋
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐
事實(shí)上, 它是不會(huì)覆蓋的, 如果真的覆蓋了那才是出大問(wèn)題了 !

PS 1 : 在文件的保存路徑設(shè)置中, 如果沒有設(shè)置路徑, 它會(huì)在項(xiàng)目底下生成一個(gè)你設(shè)置的名稱的文件
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐
PS 2 : 在官網(wǎng)中可以看到說(shuō)明, 當(dāng)日志文件超過(guò) 10MB 大小時(shí), 它會(huì)將你后續(xù)得日志文件保存在一個(gè)新的文件中(
并且它會(huì)按照自己的命名規(guī)則替你命名和分割日志 ), 但是這個(gè)日志文件的大小也是可以去設(shè)置的
# 七. 使用Lombok簡(jiǎn)化日志記錄

Lombok是一個(gè)Java庫(kù),通過(guò)注解實(shí)現(xiàn)了簡(jiǎn)化Java代碼的編寫,包括簡(jiǎn)化日志記錄的編寫。在Java應(yīng)用程序中,日志記錄是非常重要的,但是傳統(tǒng)的Java日志記錄方式通常需要編寫大量的冗余代碼。Lombok的日志相關(guān)注解可以讓我們輕松地實(shí)現(xiàn)日志記錄功能,大大減少了代碼量。下面將介紹如何使用Lombok簡(jiǎn)化日志記錄。

1. 添加依賴

首先需要在項(xiàng)目中添加Lombok依賴,具體方式可以在項(xiàng)目的pom.xml文件中添加以下代碼:

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

2. 使用注解

使用Lombok實(shí)現(xiàn)日志記錄功能非常簡(jiǎn)單,只需要使用@Slf4j注解即可,如下所示:

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class TestLog {
    
    public static void main(String[] args) {
        log.debug("debug message");
        log.info("info message");
        log.warn("warn message");
        log.error("error message");
    }
}

@Slf4j注解實(shí)際上會(huì)自動(dòng)為我們生成一個(gè)名為log的靜態(tài)變量,在代碼中可以直接使用log對(duì)象輸出日志信息。當(dāng)然,我們也可以手動(dòng)定義日志對(duì)象,如下所示:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TestLog {

    private static final Logger LOGGER = LoggerFactory.getLogger(TestLog.class);

    public static void main(String[] args) {
        LOGGER.debug("debug message");
        LOGGER.info("info message");
        LOGGER.warn("warn message");
        LOGGER.error("error message");
    }
}

這里采用了傳統(tǒng)的Java日志記錄方式,不過(guò)使用了Lombok簡(jiǎn)化變量定義的代碼量。

3. 注意事項(xiàng)

在使用Lombok進(jìn)行日志記錄時(shí),需要注意以下幾點(diǎn):

1.需要在項(xiàng)目中正確添加Lombok依賴。
2.在使用Lombok的@Slf4j注解時(shí),需要保證項(xiàng)目中至少引入了一種日志框架。
3.在使用Lombok的@Data注解時(shí),需要特別注意成員變量的訪問(wèn)權(quán)限,避免數(shù)據(jù)泄露問(wèn)題。

4. 總結(jié)

Lombok的日志相關(guān)注解能夠很好地簡(jiǎn)化Java代碼的編寫,特別是對(duì)于Java應(yīng)用程序中頻繁使用的日志記錄功能,使用Lombok可以大大減少代碼量和開發(fā)時(shí)間,提高開發(fā)效率。在使用Lombok進(jìn)行日志記錄時(shí),需要注意Lombok的使用約定和注意事項(xiàng),避免引入不必要的麻煩??梢园l(fā)現(xiàn),在不同類中實(shí)現(xiàn)日志輸出時(shí),都需要手動(dòng)創(chuàng)建日志對(duì)象并修改getLogger方法中的類對(duì)象,這樣操作有些繁瑣。因此,lombok提供了一種更加簡(jiǎn)便的方式來(lái)實(shí)現(xiàn)日志輸出。這個(gè)步驟比較簡(jiǎn)單,只需要手動(dòng)添加 lombok 依賴即可。2. 增加 @slf4j 注解
Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐
除了 @slf4j 注解, lombok 還提供許多其他的注解, 您可以前往官網(wǎng)進(jìn)行查看.

關(guān)于Spring Boot的文章就分享到這里,另外給大家準(zhǔn)備了兩個(gè)關(guān)于【Spring Boot入門到精通】以及【手寫Spring Boot源碼實(shí)現(xiàn)】?jī)商追浅8韶浀墓P記,有需要的可以看文章末尾免費(fèi)領(lǐng)??!

Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐

Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-477369.html

到了這里,關(guān)于Spring Boot日志系統(tǒng)大揭秘:從零開始學(xué)習(xí)Spring Boot日志:常見問(wèn)題解答和最佳實(shí)踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 從零開始學(xué)Spring Boot系列-SpringApplication

    SpringApplication類提供了一種從main()方法啟動(dòng)Spring應(yīng)用的便捷方式。在很多情況下, 你只需委托給 SpringApplication.run這個(gè)靜態(tài)方法 : 當(dāng)應(yīng)用啟動(dòng)時(shí), 你應(yīng)該會(huì)看到類似下面的東西: 默認(rèn)情況下會(huì)顯示INFO級(jí)別的日志信息, 包括一些相關(guān)的啟動(dòng)詳情, 比如啟動(dòng)應(yīng)用的用戶等。 通過(guò)

    2024年04月08日
    瀏覽(27)
  • 從零開始學(xué)Spring Boot系列-集成mybatis

    在Spring Boot的應(yīng)用開發(fā)中,MyBatis是一個(gè)非常流行的持久層框架,它支持定制化SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。在本篇文章中,我們將學(xué)習(xí)如何在Spring Boot項(xiàng)目中集成MyBatis,以便通過(guò)MyBatis進(jìn)行數(shù)據(jù)庫(kù)操作。 首先,我們需要在項(xiàng)目中添加MyBatis的依賴。在Spring Boot中,我們通常會(huì)使

    2024年03月10日
    瀏覽(25)
  • 從零開始 Spring Boot 63:Hibernate 繼承映射

    從零開始 Spring Boot 63:Hibernate 繼承映射

    圖源:簡(jiǎn)書 (jianshu.com) 關(guān)系型數(shù)據(jù)庫(kù)設(shè)計(jì)中是不存在繼承概念的,但實(shí)體類可以用繼承來(lái)組織代碼結(jié)構(gòu),所以需要用一種方式將實(shí)體類的繼承結(jié)構(gòu)映射到表結(jié)構(gòu)。 本文將介紹幾種在 JPA(Hibernate)中映射實(shí)體類繼承層次的方式。 第一種方式是用 @MappedSuperclass 標(biāo)記超類(Super

    2024年02月12日
    瀏覽(19)
  • 從零開始學(xué)Spring Boot系列-集成Kafka

    Apache Kafka是一個(gè)開源的分布式流處理平臺(tái),由LinkedIn公司開發(fā)和維護(hù),后來(lái)捐贈(zèng)給了Apache軟件基金會(huì)。Kafka主要用于構(gòu)建實(shí)時(shí)數(shù)據(jù)管道和流應(yīng)用。它類似于一個(gè)分布式、高吞吐量的發(fā)布-訂閱消息系統(tǒng),可以處理消費(fèi)者網(wǎng)站的所有動(dòng)作流數(shù)據(jù)。這種動(dòng)作流數(shù)據(jù)包括頁(yè)面瀏覽、搜

    2024年03月21日
    瀏覽(23)
  • 從零開始學(xué)Spring Boot系列-外部化配置

    從零開始學(xué)Spring Boot系列-外部化配置

    Spring Boot 允許你將配置外部化,以便可以在不同的環(huán)境中使用相同的應(yīng)用程序代碼??梢允褂脤傩晕募?、YAML文件、環(huán)境變量和命令行參數(shù)將配置外部化。屬性值可以通過(guò)使用 @Value 注解直接注入 bean,可以通過(guò) Spring 的 Environment 抽象訪問(wèn),也可以通過(guò) @ConfigurationProperties。 Sp

    2024年04月10日
    瀏覽(27)
  • 從零開始 Spring Boot 37:初始化 ApplicationContext

    從零開始 Spring Boot 37:初始化 ApplicationContext

    圖源:簡(jiǎn)書 (jianshu.com) 從前文可以知道,作為 Ioc 容器的 ApplicationContext,需要進(jìn)行一系列步驟來(lái)初始化以最終就緒(對(duì)于 Web 應(yīng)用來(lái)說(shuō)就是可以提供Http服務(wù))。 這些步驟大概可以分為以下內(nèi)容: 準(zhǔn)備上下文關(guān)聯(lián)的 Environment 。 初始化 ApplicationContext( ApplicationContextInitializers

    2024年02月08日
    瀏覽(26)
  • 從零開始 Spring Boot 38:Lombok 與依賴注入

    從零開始 Spring Boot 38:Lombok 與依賴注入

    圖源:簡(jiǎn)書 (jianshu.com) 在之前的文章中,我詳細(xì)介紹了 Lombok 的用法,考慮到在 Spring 中使用依賴注入(DI)是如此的頻繁,因此有必要討論使用 Lombok 時(shí)可能對(duì)依賴注入造成的影響。 我們都知道,Spring 中的依賴注入分為三種情況: 通過(guò)屬性進(jìn)行依賴注入。 通過(guò)構(gòu)造器進(jìn)行依

    2024年02月08日
    瀏覽(37)
  • 從零開始 Spring Boot 52:@Embedded 和 @Embeddable

    從零開始 Spring Boot 52:@Embedded 和 @Embeddable

    圖源:簡(jiǎn)書 (jianshu.com) 這篇文章會(huì)介紹 @Embedded 和 @Embeddable 兩個(gè)注解在 JPA 中的用法。 先看一個(gè)示例: 這里使用了 Lombok 相關(guān)注解(比如 @Builder )幫助構(gòu)建實(shí)體類,詳細(xì)內(nèi)容可以閱讀我的相關(guān)文章。 user_student 是一個(gè)學(xué)生表,其中的 contacts_ 開頭的字段保存聯(lián)系人信息,這體

    2024年02月12日
    瀏覽(17)
  • 從零開始 Spring Boot 49:Hibernate Entity Lifecycle

    從零開始 Spring Boot 49:Hibernate Entity Lifecycle

    圖源:簡(jiǎn)書 (jianshu.com) 本文將介紹 Hibernate 的 Session 接口,以及如何用 Session 的相關(guān) API 轉(zhuǎn)換實(shí)體(Entity)的生命周期狀態(tài)。 如果缺少的 JPA 和 Hibernate 的基本認(rèn)識(shí),可以閱讀前篇文章。 持久化上下文 在 JPA 的相關(guān)概念中,存在一個(gè) 持久化上下文 (Persistence Context)。 持久化

    2024年02月11日
    瀏覽(58)
  • 從零開始 Spring Boot 51:JPA 中的默認(rèn)列值

    從零開始 Spring Boot 51:JPA 中的默認(rèn)列值

    圖源:簡(jiǎn)書 (jianshu.com) JPA 是一個(gè) ORM 框架,因此,通常我們需要在實(shí)體類中定義表結(jié)構(gòu),這其中就包含可能的字段默認(rèn)值。 本文介紹如何在 Hibernate(JPA)中設(shè)置默認(rèn)列值(Default Column Value)。 最簡(jiǎn)單的方式是對(duì)實(shí)體類指定一個(gè)默認(rèn)的屬性值,比如: 測(cè)試用例: 這樣做的缺點(diǎn)

    2024年02月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包