最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springBoot的日志文件詳解

 更新時(shí)間:2024年06月25日 12:13:41   作者:PlLI-  
日志是程序的重要組成部分,主要可以用來(lái)定位和排查問(wèn)題,在程序中進(jìn)行自定義日志輸出的時(shí)候,也通常是借助于SLF4J框架來(lái)輸出日志,本文給大家分享springBoot的日志文件相關(guān)知識(shí),感興趣的朋友一起看看吧

日志是程序的重要組成部分,主要可以用來(lái)定位和排查問(wèn)題。除此之外,還可以用來(lái):

1. 記錄用戶的登錄日志,方便分析用戶是正常登錄還是惡意破解;

2. 記錄系統(tǒng)的操作日志,方便數(shù)據(jù)恢復(fù)和定位操作人;

3. 記錄程序執(zhí)行時(shí)間,方便優(yōu)化程序和提供數(shù)據(jù)支持;

在 springBoot 中內(nèi)置了日志框架:SLF4J+logback,這兩者的關(guān)系就類似于JDBC 和 MySQL之間,SLF4J對(duì)于日志的多種實(shí)現(xiàn)方式做了統(tǒng)一。所以在程序中進(jìn)行自定義日志輸出的時(shí)候,也通常是借助于SLF4J框架來(lái)輸出日志;

一. 自定義日志打印

1. 獲取日志對(duì)象 

 1. 每個(gè)類都有自己的日志對(duì)象,所以習(xí)慣用 private 修飾;

 2. 為了方便調(diào)用,習(xí)慣用 static 修飾;

 3. 且該日志對(duì)象不希望被修改,習(xí)慣用 final 修飾;

 4. Logger 是一個(gè)接口,無(wú)法直接 new 對(duì)象,一般借助 LoggerFactory.getLogger 方法獲取日志對(duì)象;

private static final Logger log = LoggerFactory.getLogger(類對(duì)象);

注意 Logger 對(duì)象要選擇 slf4j 包下的!??! 

2. 使用日志對(duì)象打印日志

使用對(duì)應(yīng)方法來(lái)打印對(duì)應(yīng)層級(jí)的日志; 

        log.trace("i'm trace");     
        log.debug("i'm debug");    
        log.info("i'm info");
        log.warn("i'm warn");
        log.error("i'm error");

3. 日志格式說(shuō)明 

二. 日志級(jí)別 

日志級(jí)別可以幫助我們篩選出重要的信息,可以通過(guò)控制日志級(jí)別,來(lái)讓日志內(nèi)容更加準(zhǔn)確明了;

日志級(jí)別可以控制不同環(huán)境下,打印出不同的日志內(nèi)容,例如在開發(fā)環(huán)境下,需要很多詳細(xì)的信息,而生產(chǎn)環(huán)境下,為了保證性能,一般就會(huì)需要較少的日志,此時(shí)就可以提供日志級(jí)別來(lái)實(shí)現(xiàn)這個(gè)需求; 

1. 日志級(jí)別的分類和使用

trace:級(jí)別最低;

debug: 調(diào)試時(shí)候的關(guān)鍵信息打??;

info:默認(rèn)的日志級(jí)別;

warn:警告,不影響使用;

error:錯(cuò)誤信息;

fatal:致命的,因?yàn)榇a異常導(dǎo)致程序退出執(zhí)行;

級(jí)別越高,能接收的信息就越少,例如設(shè)置為 warn 級(jí)別的時(shí)候,此時(shí)就只能接受 warn,error,fatal 級(jí)別的日志了。

2. 日志級(jí)別的設(shè)置

日志級(jí)別的設(shè)置可以通過(guò)配置文件來(lái)配置;

# root 設(shè)置了默認(rèn)級(jí)別
logging:
    level:
        root:error

也可以針對(duì)文件路徑來(lái)另外設(shè)置,例如將 com.example.demo 路徑下的日志級(jí)別設(shè)置為 trace:

logging:
    level:
        root:
        com:
            example:
                demo:trace

三. 日志持久化

所謂日志持久化,也就是將日志內(nèi)容保存下來(lái),因?yàn)樵谏a(chǎn)環(huán)境下,通常需要保存好日志文件,方面后續(xù)進(jìn)行追溯;

同樣是在配置文件中進(jìn)行配置,指定日志文件的存儲(chǔ)目錄和文件名;

# 日志保存路徑     絕對(duì)路徑!
# 只設(shè)置name的話,此時(shí)路徑就和項(xiàng)目的路徑是一起的
# 也可以在 name 的基礎(chǔ)上加上路徑
logging:
  file:
#    path: D:\\test\\
#    name: springboot.log
    name: D:\\test\\springboot.log

 并且存儲(chǔ)的 springboot.log日志文件是實(shí)時(shí)更新的。日志文件的最大容量是 10MB。

 四. 更加簡(jiǎn)單的實(shí)現(xiàn)日志打印

使用 @slf4j 注解,前提是要有 Lombok 框架支持; 

@slf4j 是一個(gè)類注解,表示給當(dāng)前類中添加一個(gè)叫做 log 的日志對(duì)象(這是 lombok 提供的對(duì)象名),此處的 log 對(duì)象就是 slf4j 中提供的 Logger 對(duì)象;

@RestController
@Slf4j  
public class LoggerController {
    @RequestMapping("/log")
    public String sayHi(){
        log.info("我是 log 的 info");
        log.error("我是 log 的 error");
        return "hello3";
    }
}

五. Lombok的原理

此處再簡(jiǎn)單補(bǔ)充一下 Lombok 的一些原理知識(shí):Lombok實(shí)在編譯時(shí)期起作用的;

Lombok在程序中運(yùn)行時(shí)起到的作用就是,使用注解代替,來(lái)快捷的實(shí)現(xiàn)一些語(yǔ)句。這點(diǎn)可以通過(guò) target 目錄來(lái)觀察;target 為項(xiàng)目最終執(zhí)行的代碼; 

 在 target 中,注解 @slf4j ,就自動(dòng)的轉(zhuǎn)換為構(gòu)造日志對(duì)象的語(yǔ)句了。

 Lombok 還有很多注解是經(jīng)常用到的:

1. @Getter:自動(dòng)添加 getter 方法

2. @Setter:自動(dòng)添加 setter 方法

3. @ToString:自動(dòng)添加 toString 方法

組合注解:@Data:包括 @Getter + @Setter + @ToString + @EqualsAndHashCode + @RequiredArgsConstructor + @NoArgsConstructor

到此這篇關(guān)于springBoot的日志文件的文章就介紹到這了,更多相關(guān)springBoot日志文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis的動(dòng)態(tài)SQL語(yǔ)句實(shí)現(xiàn)

    MyBatis的動(dòng)態(tài)SQL語(yǔ)句實(shí)現(xiàn)

    這篇文章主要介紹了MyBatis的動(dòng)態(tài)SQL語(yǔ)句實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • SpringBoot2 實(shí)現(xiàn)JPA分頁(yè)和排序分頁(yè)的案例

    SpringBoot2 實(shí)現(xiàn)JPA分頁(yè)和排序分頁(yè)的案例

    這篇文章主要介紹了SpringBoot2 實(shí)現(xiàn)JPA分頁(yè)和排序分頁(yè)的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • hadoop 單機(jī)安裝配置教程

    hadoop 單機(jī)安裝配置教程

    單機(jī)安裝主要用于程序邏輯調(diào)試。安裝步驟基本通分布式安裝,包括環(huán)境變量,主要Hadoop配置文件,SSH配置等,需要的朋友可以參考下
    2012-11-11
  • SpringBoot接收前端參數(shù)的幾種方式分享

    SpringBoot接收前端參數(shù)的幾種方式分享

    這篇文章給大家分享幾種SpringBoot接收前端參數(shù)的方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 30分鐘入門Java8之方法引用學(xué)習(xí)

    30分鐘入門Java8之方法引用學(xué)習(xí)

    在Java8中,我們可以直接通過(guò)方法引用來(lái)簡(jiǎn)寫lambda表達(dá)式中已經(jīng)存在的方法,這篇文章主要介紹了30分鐘入門Java8之方法引用學(xué)習(xí),有興趣可以了解一下。
    2017-04-04
  • Java源碼解析HashMap的tableSizeFor函數(shù)

    Java源碼解析HashMap的tableSizeFor函數(shù)

    今天小編就為大家分享一篇關(guān)于Java源碼解析HashMap的tableSizeFor函數(shù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • 基于SpringBoot + Redis實(shí)現(xiàn)網(wǎng)站七天免密登錄系統(tǒng)

    基于SpringBoot + Redis實(shí)現(xiàn)網(wǎng)站七天免密登錄系統(tǒng)

    本文介紹了如何使用SpringBoot和Redis實(shí)現(xiàn)七天免密登錄功能,通過(guò)合理利用Redis的過(guò)期機(jī)制,設(shè)計(jì)了Token策略、Redis存儲(chǔ)結(jié)構(gòu)和安全驗(yàn)證機(jī)制,本文詳細(xì)描述了登錄控制器、攔截器實(shí)現(xiàn)和用戶上下文管理,展示了如何在實(shí)際業(yè)務(wù)中應(yīng)用此功能,需要的朋友可以參考下
    2026-04-04
  • Java并發(fā)系列之CyclicBarrier源碼分析

    Java并發(fā)系列之CyclicBarrier源碼分析

    這篇文章主要為大家詳細(xì)分析了Java并發(fā)系列之CyclicBarrier源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Springboot整合mqtt服務(wù)的示例代碼

    Springboot整合mqtt服務(wù)的示例代碼

    MQTT是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡(jiǎn)單、開放和易于實(shí)現(xiàn)的,這些特點(diǎn)使它適用范圍非常廣泛。本文為大家分享了Springboot整合mqtt服務(wù)的示例代碼,需要的可以參考一下
    2022-03-03
  • IDEA解決Java:程序包xxxx不存在的問(wèn)題

    IDEA解決Java:程序包xxxx不存在的問(wèn)題

    這篇文章主要介紹了IDEA解決Java:程序包xxxx不存在的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論

绥宁县| 河池市| 象州县| 广昌县| 阜城县| 洛浦县| 常德市| 五台县| 黑山县| 邢台县| 嘉义市| 鹰潭市| 磐安县| 北海市| 依兰县| 张家界市| 盘锦市| 白城市| 剑阁县| 丰都县| 永吉县| 呈贡县| 汤原县| 陆良县| 永靖县| 巫山县| 肃南| 彰化市| 商丘市| 三河市| 上栗县| 陵川县| 介休市| 札达县| 建宁县| 沅江市| 潜山县| 河北区| 黔南| 平塘县| 凤台县|