精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Spring Boot的日志框架使用

冬至子 ? 來源:瑞煕share ? 作者:brevity wit ? 2023-06-02 10:59 ? 次閱讀

日志框架

目前市面上常見的日志框架有:slf4j(Simple Logging Facade for Java)、logback、log4j、log4j2、commons-logging(Spring默認日志框架)、JUL(java.util.logging)等。

日志框架包括日志的抽象與日志的實現兩部分,其中日志的抽象推薦使用slf4j,而日志的實現推薦使用logback。Spring Boot的日志框架默認選擇的就是這兩個。

SLF4J的使用

系統開發在使用日志的時候,不應該使用日志的實現,而應該使用日志的抽象,但是日志的配置文件還是要使用日志實現框架本身的配置文件,日志使用示例代碼如下:

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的調用結構如下:

圖片

日志統一問題

當一個項目集成了多個框架,而這些框架大部分都集成了日志框架,就會出現一個項目底層使用多種日志框架的問題,slf4j給出了這個問題的解決辦法,如下圖所示:

圖片

日志框架統一為slf4j的步驟:①排除其他框架集成的日志框架;②用中間包來替換原來的日志框架;③導入slf4j框架的其他實現。

Spring Boot的日志

Spring Boot Starter的maven依賴:
< dependency >
     < groupId >org.springframework.boot< /groupId >
     < artifactId >spring-boot-starter< /artifactId >
     < version >2.7.7< /version >
     < scope >compile< /scope >
 < /dependency >

Spring Boot底層的日志依賴關系圖:

圖片

Spring Boot使用的日志依賴:

< dependency >
      < groupId >org.springframework.boot< /groupId >
      < artifactId >spring-boot-starter-logging< /artifactId >
      < version >2.7.7< /version >
      < scope >compile< /scope >
  < /dependency >

由上圖可以看出,Spring Boot自動適配了所有的日志,而且底層默認使用了slf4j+logback記錄日志,引入其他框架的時候,只需要把這個框架依賴的日志框架移除即可。

Spring Boot默認日志框架示例代碼如下:

package com.brevity;


 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.test.context.SpringBootTest;


 @SpringBootTest
 class LoggingApplicationTests {


     // 獲取日志記錄器,參數建議使用當前類
     Logger logger = LoggerFactory.getLogger(LoggingApplicationTests.class);


      @Test
      void logTest() {
          // Spring Boot默認使用的是info級別的日志
          logger.trace("跟蹤日志");
          logger.debug("debug日志");
          logger.info("info日志");
          logger.warn("warn日志");
          logger.error("error日志");
      }


 }

修改默認的日志級別只需要在配置文件中修改即可,例如在application.properties文件中添加如下代碼:

# 調整日志級別
  logging.level.com.brevity=trace
  # 修改控制臺輸出的日志格式
  # %d表示日期時間,%thread表示線程名,%-5level:級別從左顯示5個字符寬度
  # %logger{50} 表示logger名字最長50個字符,否則按照句號分割,%msg:日志消息,%n是換行符
  logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Boot
    +關注

    關注

    0

    文章

    149

    瀏覽量

    35779
收藏 人收藏

    評論

    相關推薦

    Spring框架的設計理念

    Spring作為現在最優秀的框架之一,已被廣泛的使用,51CTO也曾經針對Spring框架中的hqC應用做過報道。本文將從另外一個視角試圖剖析出Sp
    發表于 07-15 08:17

    啟動Spring Boot項目應用的三種方法

    首先大家了解什么是Spring BootSpring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新
    發表于 01-14 17:33

    Spring Boot嵌入式Web容器原理是什么

    ,不需要配置任何特殊的XML配置,為了這個目標,Spring BootSpring 4.0框架之上提供了很多特性,幫助應用以“約定優于配置”“開箱即用”的方式來啟動應用并運行上下文。
    發表于 12-16 07:57

    java 日志框架Spring Boot分析

    引言:我們需要在已有的微服務代碼中添加日志功能,用于輸出需要關注的內容,這是最平常的技術需求了。由于我們的微服務代碼是基于SpringBoot開發的,那么問題就轉換為如何在Spring Boot
    發表于 09-28 14:58 ?0次下載

    Spring Boot框架錯誤處理

    /spring-boot-rest-api-error-handling》Guide to Spring Boot REST API Error Handling《/a》 《br》 《strong》作者《/strong》:BRU
    發表于 09-28 15:31 ?0次下載

    spring mvc框架介紹

    Spring MVC屬于SpringFrameWork的后續產品,已經融合在Spring Web Flow里面。Spring 框架提供了構建 Web 應用程序的全功能 MVC 模塊
    發表于 11-17 16:28 ?2331次閱讀
    <b class='flag-5'>spring</b> mvc<b class='flag-5'>框架</b>介紹

    Spring Boot定時任務的重寫方法

    Spring Boot應該是目前最火的java開源框架了,它簡化了我們創建一個web服務的過程,讓我們可以在很短時間、基本零配置就可以啟動一個web服務。
    的頭像 發表于 01-20 17:38 ?2411次閱讀

    Spring Boot從零入門1 詳述

    在開始學習Spring Boot之前,我之前從未接觸過Spring相關的項目,Java基礎還是幾年前自學的,現在估計也忘得差不多了吧,寫Spring
    的頭像 發表于 12-10 22:18 ?605次閱讀

    Spring Boot特有的實踐

    Spring Boot是最流行的用于開發微服務的Java框架。在本文中,我將與你分享自2016年以來我在專業開發中使用Spring Boot
    的頭像 發表于 09-29 10:24 ?878次閱讀

    Spring Boot Web相關的基礎知識

    上一篇文章我們已經學會了如何通過IDEA快速建立一個Spring Boot項目,還介紹了Spring Boot項目的結構,介紹了項目配置文件pom.xml的組成部分,并且撰寫了我們
    的頭像 發表于 03-17 15:03 ?623次閱讀

    Spring Boot Actuator快速入門

    使用的框架基本上都要升級到 2.x了吧。 什么是 Actuator ? 從本質上講, Spring Boot Actuator 為我們的應用程序帶來了生產就緒的功能。監控我們的應用程序,收集指標,了解流量,或者是
    的頭像 發表于 10-09 17:11 ?606次閱讀

    Spring Boot啟動 Eureka流程

    在上篇中已經說過了 Eureka-Server 本質上是一個 web 應用的項目,今天就來看看 Spring Boot 是怎么啟動 Eureka 的。 Spring Boot 啟動 E
    的頭像 發表于 10-10 11:40 ?853次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b>啟動 Eureka流程

    Spring Boot的啟動原理

    可能很多初學者會比較困惑,Spring Boot 是如何做到將應用代碼和所有的依賴打包成一個獨立的 Jar 包,因為傳統的 Java 項目打包成 Jar 包之后,需要通過 -classpath 屬性
    的頭像 發表于 10-13 11:44 ?623次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b>的啟動原理

    Spring Boot 的設計目標

    什么是Spring Boot Spring BootSpring 開源組織下的一個子項目,也是 S
    的頭像 發表于 10-13 14:56 ?555次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b> 的設計目標

    Spring Cloud Gateway網關框架

    Spring Cloud Gateway網關框架 本軟件微服務架構中采用Spring Cloud Gateway網關控制框架Spring
    的頭像 發表于 08-22 09:58 ?429次閱讀
    <b class='flag-5'>Spring</b> Cloud Gateway網關<b class='flag-5'>框架</b>