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

【Java】Spring Boot 日志文件

這篇具有很好參考價值的文章主要介紹了【Java】Spring Boot 日志文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

SpringBoot日志文件

1. 日志有什么用

日志是程序的重要組成部分,想象一下,如果程序報錯了,不讓你打開控制臺看日志,那么你能找到報錯的原因嗎。

日志對于我們來說,最主要的用途就是排除和定位問題。除了發(fā)現(xiàn)和定位問題之外,我們還可以通過日志實現(xiàn)以下功能:

  • 記錄用戶登錄日志,方便分析用戶是正常登錄,還是惡意破解用戶
  • 記錄系統(tǒng)的操作日志,方便數(shù)據恢復和定位操作人
  • 記錄程序的執(zhí)行時間,方便以后優(yōu)化程序提供數(shù)據支持

2. 日志怎么用

Spring Boot項目在啟動的時候默認就會有日志的輸出,如下圖:

java的spring的日志,# Spring,java,spring boot,spring

通過上述信息我們可以發(fā)現(xiàn):

  • Spring Boot內置了日志框架
  • 默認情況下,輸出的日志并不是開發(fā)者定義和打印的,那么開發(fā)者怎么在程序中定義打印日志?
  • 日志默認是打印在控制臺上,而控制臺的日志是不能被保存的, 如何將日志永久的保存下來?

3. 自定義日志打印

開發(fā)者自定義打印日志的實現(xiàn)步驟:

  1. 在程序中得到日志
  2. 使用日志對象的相關語法輸出要打印的內容

3.1 在程序中得到日志對象

private static final Logger log = LoggerFactory.getLogger(UserController.class);

日志工廠需要將每個類的類型傳進去,這樣我們才能知道日志的歸屬類,才能更方便更直觀的定位到問題

注意:logger對象屬于org.slf4j包下的,不要導錯了
java的spring的日志,# Spring,java,spring boot,spring

3.2 使用日志對象打印日志

日志對象的打印方法有很多種,我們可以使用info方法來輸出日志,

@Controller
@ResponseBody
public class UserController {
    private static final Logger log = LoggerFactory.getLogger(UserController.class);
    @RequestMapping("/sayhi")
    public void sayHi() {
        log.trace("trace");
        log.debug("debug");
        log.info("info");
        log.warn("warn");
        log.error("error");
    }
}

java的spring的日志,# Spring,java,spring boot,spring

4. 日志級別

4.1 日志級別有什么用?

  • 日志級別可以幫你篩選出重要的信息,比如設置日志級別為error,那么就可以只看到程序的報錯日志了,對于普通的調試日志和業(yè)務日志就可以忽略了。從而節(jié)省開發(fā)者篩選的時間
  • 日志級別可以控制不同環(huán)境下,一個程序是否需要打印日志,如開發(fā)環(huán)境我們需要很詳細的信息,而生產環(huán)境為了保持性能和安全性就會輸出少量的日志,而通過日志級別可以實現(xiàn)此類需求

4.2 日志級別的分類與使用

日志級別分為:

  • trace: 微量,少許的意思,級別最低
  • debug:需要調試時候的關鍵信息打印
  • info:普通的打印信息(默認日志級別)
  • warn:警告:不影響使用,但需要注意的問題
  • error:錯誤信息,級別較高的錯誤日志信息
  • fatal:致命的,因為代碼異常導致程序退出執(zhí)行的事件

日志級別的順序:
java的spring的日志,# Spring,java,spring boot,spring

越往上,接收到的信息就越少,如設置了warn就只能接收到warn及其上面的級別

日志級別設置

logging:
  level:
    root: error

默認日志輸出級別

清除掉配置文件當中的日志設置,觀察控制臺輸出的日志級別

得到結論,日志輸出級別默認是info

當存在局部日志級別和全局日志級別設置,那么當訪問局部日志時,使用的是局部日志級別。也就是局部日志優(yōu)先級高于全局日志的優(yōu)先級

5. 日志持久化

以上的日志都是輸出在控制臺上,然而生產環(huán)境上咱們需要將日志保存下來,以便出現(xiàn)問題之后追溯問題,把日志保存下來的過程叫做持久化

想要將日至持久化,只需要在配置文件中指定日志的存儲目錄或者是指定日志保存文件名,Spring Boot就會將控制臺的日志寫到相應的目錄或文件下

配置日志文件的保存路徑:

logging:
  file:
    path: D:\rizhi

保存的路徑,當中包含轉義字符方面的設置我們可以使用這個/來作為分割符。

如果堅持使用Windows下的分割符,我們需要使用\轉義字符來轉義一下

配置日志文件的文件名:

logging:
  file:
    name: D:/rizhi/logger/spring.log

6. 更簡單的日志輸出–lombok

每次使用LoggerFactory.getLogger很繁瑣,且每個類都添加一遍,也很麻煩。這里的lombok是一種更好的日志輸出方式

  1. 添加lombok框架支持
  2. 使用@slf4j注解輸出日志

6.1 添加 lombok 依賴

首先要安裝一個插件:java的spring的日志,# Spring,java,spring boot,spring

然后再pom.xml頁面右鍵、java的spring的日志,# Spring,java,spring boot,springjava的spring的日志,# Spring,java,spring boot,spring
java的spring的日志,# Spring,java,spring boot,spring

最后重新添加依賴就可以了
java的spring的日志,# Spring,java,spring boot,spring

6.2 輸出日志

使用@Slf4j注解,在程序中使用log對象即可輸入日志并且只能使用log對象才能輸出,這是lombok提供的對象名

6.3 lombok原理解釋

lombok 能夠打印?志的密碼就在 target ?錄??,target 為項?最終執(zhí)?的代碼,查看 target ?錄我們可以發(fā)現(xiàn):

java的spring的日志,# Spring,java,spring boot,spring

這里的@Slf4j注解變成了一個對象。

下面是java程序的運行原理:

java的spring的日志,# Spring,java,spring boot,spring

6.4 lombok更多注解說明

基本注解

注解 作用
@Getter 自動添加get方法
@Setter 自動添加set方法
@ToString 自動添加toString方法
@EqualsAndHashCode 自動添加equals和hasCode方法
@NoArgsConstructor 自動添加無參構造方法
@AllArgsConstructor 自動添加全屬性構造方法,順序按照屬性的定義順序
@NonNull 屬性不能為null
@RequiredArgsConstructor 自動添加必須屬性的構造方法,final + @NonNull的屬性為需

組合注解:

注解 作用
@Data @Getter+@Setter+EqualsAndHashCode+@RequiredArgsConstructor+@NoArgsConstructor

日志注解

注解 作用
@Slf4j 添加一個名為log的對象

7. 總結

日志是程序員中的重要組成部分,使用日志可以快速的發(fā)現(xiàn)和定位問題,Spring Boot提供了日志框架,默認情況下使用的是info日志級別將日志輸出到控制臺的。我們可以通過lombok提供的@Slf4j注解和log對象快速的打印自定義日志,日志包含了6個級別:

  • trace:微量,少許的意思,級別最低
  • debug:需要調試的時候的關鍵信息打印
  • info:普通的打印信息
  • warn:警告,不影響使用,但需要注意的問題
  • error:錯誤信息,級別較高的錯誤日志信息
  • fatal:致命的,因為代碼異常導致程序退出執(zhí)行的事件

日志級別依次提升,而日志級別越高,收到的日志信息也就越少,我們可以通過配置日志的保存域名或保存目錄來將日志永久的保存下來文章來源地址http://www.zghlxwxcb.cn/news/detail-791254.html

到了這里,關于【Java】Spring Boot 日志文件的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【JavaEE】Spring Boot - 日志文件

    【JavaEE】Spring Boot - 日志文件

    【JavaEE】Spring Boot 開發(fā)要點總結(3) 寫代碼不是概率事件,bug的出現(xiàn)必然是有原因的,而日志的主要作用就是,排查和定位問題! 而日志的生成就是隨著程序的進行和一步步生成的,不說全部過程都記錄得清清楚楚,至少重要的點和環(huán)節(jié)或者一些異常情況都有記錄 而通過日

    2024年02月14日
    瀏覽(31)
  • Spring Boot配置保存日志文件

    springboot日志配置: springboot默認日志是打印再console中的,不會保存在文件中。我們項目上線肯定要保存日志用于分析的。 一、使用xml配置日志保存(并不需要pom配置slf4j依賴,starter里面已經配置了依賴了) 1、在項目的resources目錄下創(chuàng)建一個【logback-spring.xml】日志配置文件

    2024年02月11日
    瀏覽(29)
  • 【Spring Boot學習二】日志文件

    【Spring Boot學習二】日志文件

    目錄 ??1、自定義輸出日志 ???2、日志級別 2.1 日志級別分類(6種) 2.2 配置日志級別(在.yml文件中設置:) (1)設置日志整體級別 (2)分目錄設置日志級別 ??3、日志怎么持久化 3.1 設置日志文件名和路徑(.yml文件下配置) ?3.2 對日志分割:每隔多少M分割 ??4、更簡單的

    2024年02月16日
    瀏覽(15)
  • Spring Boot 配置文件和日志

    Spring Boot 配置文件和日志

    目錄 配置文件格式 properties配置文件說明 1.properties基本語法 2.讀取配置文件 3.properties缺點 yml配置文件說明 1.yml基本語法 2.配置不同數(shù)據類型 3.字符串特殊情況 4.配置對象 properties和yml對比 日志 日志的使用 日志級別 日志持久化 Lombok Lombok原理解釋 Spring中配置文件有很重要的

    2024年01月19日
    瀏覽(21)
  • Spring Boot配置文件及日志信息

    Spring Boot配置文件及日志信息

    目錄 前言: Spring Boot優(yōu)點 配置文件 配置文件格式 讀取配置文件 properties配置文件格式 properties優(yōu)缺點分析 yml配置文件格式(另一種標記語言) yml優(yōu)缺點分析 Spring Boot 不同平臺配置文件規(guī)則 日志信息 日志的功能 Spring Boot內置日志框架 使用日志 得到日志對象 打印日志 日志

    2024年02月01日
    瀏覽(20)
  • Java實戰(zhàn):Spring Boot application.yml配置文件詳解

    本文將詳細介紹Spring Boot application.yml 配置文件的使用和配置項。我們將探討 application.yml 文件的基本概念,以及如何使用它來配置Spring Boot應用程序的各個方面。此外,我們將通過具體的示例來展示如何配置不同的Spring Boot組件,如數(shù)據源、數(shù)據庫、緩存、郵件服務等。本文適

    2024年04月24日
    瀏覽(24)
  • java Spring Boot將不同配置拆分入不同文件管理

    java Spring Boot將不同配置拆分入不同文件管理

    關于java多環(huán)境開發(fā) 最后還有一個小點 我們一般會將不同的配置 放在不同的配置文件中 好處肯定就在于 想換的時候非常方便 那么 我們直接看代碼 我們將項目中的 application.yml 更改代碼如下 這里 意思是 我們選擇了dev 環(huán)境 然后創(chuàng)建一個文件 叫 application-dev.yml 參考代碼如下

    2024年02月11日
    瀏覽(23)
  • 【Spring Boot學習】日志文件,Spring Boot也會寫日記了,這些事你知道嘛 ? ? ?

    【Spring Boot學習】日志文件,Spring Boot也會寫日記了,這些事你知道嘛 ? ? ?

    前言: 大家好,我是 良辰丫 ,在上一篇文章中我們已經學習了Spring Boot的配置,接下來我們要學習一些日志相關的東西,什么是日志呢?我們慢慢往下看.?????? ??個人主頁:良辰針不戳 ??所屬專欄:javaEE進階篇之框架學習 ??勵志語句:生活也許會讓我們遍體鱗傷,但最終這些

    2024年02月08日
    瀏覽(36)
  • Java(二):Spring Boot 項目-文件的增刪改查下載

    Java(二):Spring Boot 項目-文件的增刪改查下載

    docker運行mysql 設置MySQL時區(qū) 添加修改 /mysql/conf.d/xxx.cnf 文件,并重啟 MySQL 查看當前MySQL使用的時區(qū) MySQL建庫建表 數(shù)據表實體類 注意: 規(guī)定參數(shù)時區(qū) com/example/user/entity/FileTable.java 查詢條件實體類 com/example/user/entity/FileTableCondition.java com/example/user/utils/FileUtil.java mapper user/src/mai

    2024年02月09日
    瀏覽(18)
  • Java spring-boot項目中如何上傳下載文件或圖片到spring-boot規(guī)定的非靜態(tài)目錄

    spring-boot的項目,雖然它自己定義了一個靜態(tài)文件的存儲目錄,但是這個目錄一般是作為前端靜態(tài)文件的目錄來作為使用的。如果使用這個靜態(tài)目錄來作為我們上傳文件的目錄會有一個比較尷尬的地方:將spring-boot打包成為jar包后,隨著上傳圖片的增多,這個jar包也會跟著變大

    2024年02月16日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包