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

SpringBoot多環(huán)境下集成logback的配置指南

 更新時(shí)間:2026年02月09日 09:32:30   作者:清山博客  
Logback是由log4j創(chuàng)始人設(shè)計(jì)的又一個(gè)開(kāi)源日志組件,可用于項(xiàng)目日志功能,下面小編就來(lái)和大家詳細(xì)介紹一下SpringBoot如何在多環(huán)境下集成logback吧

Logback是由log4j創(chuàng)始人設(shè)計(jì)的又一個(gè)開(kāi)源日志組件。可用于項(xiàng)目日志功能。

第1步:添加坐標(biāo)依賴

<!--logback-->
<dependency>
	<groupId>ch.qos.logback</groupId>
	<artifactId>logback-classic</artifactId>
	<version>1.4.14</version>
</dependency>

logback里依賴了slf4j,就不用單獨(dú)添加slf4j坐標(biāo)了

第2步:創(chuàng)建logback配置文件

在resources目錄下創(chuàng)建logback文件夾,并創(chuàng)建dev.xml,pro.xml兩個(gè)配置文件,用于配置開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境的logback配置。目錄結(jié)構(gòu)像這樣:

第3步:在application.yaml中根據(jù)運(yùn)行環(huán)境讀取logback配置

#日志配置
logging:
  config: classpath:logback/${spring.profiles.active}.xml #根據(jù)運(yùn)行環(huán)境讀取日志配置

第4步:配置logback/dev.xml文件(開(kāi)發(fā)環(huán)境的日志配置)

開(kāi)發(fā)環(huán)境中,可以將日志打印在控制臺(tái)。

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <!-- 設(shè)置控制臺(tái)彩色日志格式,注意:%L打印行號(hào)對(duì)性能有影響,因此不建議在生產(chǎn)環(huán)境使用。 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <property name="CONSOLE_LOG_PATTERN"
              value="%clr([%d{HH:mm:ss}){faint} %clr(%p) %clr(%.10t]){faint} %clr(%C{39}){cyan} %clr(%M:%L){magenta}: %m%n%wEx"/>
    <!--設(shè)置輸出到控制臺(tái)-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder" charset="UTF-8">
            <!-- 設(shè)置輸出到控制臺(tái)的日志格式 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!--設(shè)置日志級(jí)別-->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

第5步:配置logback/pro.xml文件(生成環(huán)境的日志配置)

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <!-- 應(yīng)用名稱 -->
    <springProperty scope="context" name="springApplicationName" source="spring.application.name"
                    defaultValue="spring"/>
    <!-- 環(huán)境 -->
    <springProperty scope="context" name="springProfilesActive" source="spring.profiles.active" defaultValue="pro"/>
    <!-- 重啟后是否刪除日志 -->
    <springProperty scope="context" name="cleanHistoryOnStart"
                    source="logging.logback.rollingpolicy.clean-history-on-start" defaultValue="true"/>
    <!-- 單個(gè)日志文件的大小 -->
    <springProperty scope="context" name="maxFileSize" source="logging.logback.rollingpolicy.max-file-size"
                    defaultValue="10MB"/>
    <!-- 日志總文件最大值 -->
    <springProperty scope="context" name="totalSizeCap" source="logging.logback.rollingpolicy.total-size-cap"
                    defaultValue="50GB"/>
    <!-- 日志保留時(shí)長(zhǎng) (天) -->
    <springProperty scope="context" name="maxHistory" source="logging.logback.rollingpolicy.max-history"
                    defaultValue="30"/>
    <!-- 日志文件路徑 -->
    <springProperty scope="context" name="path" source="logging.file.path"
                    defaultValue="./log/${springApplicationName}/${springProfilesActive}"/>
    <contextName>${springApplicationName}</contextName>
    <property name="PATTERN_FILE" value="%d{yyyy/MM/dd-HH:mm:ss} %-5level [%thread] %class{5}:%line>>%msg%n"/>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${path}/%d{yyyy-MM-dd}/%i.log</fileNamePattern>
            <totalSizeCap>${totalSizeCap}</totalSizeCap>
            <maxHistory>${maxHistory}</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${maxFileSize}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 重啟項(xiàng)目后刪除日志 -->
            <cleanHistoryOnStart>${cleanHistoryOnStart}</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder>
            <pattern>${PATTERN_FILE}</pattern>
        </encoder>
    </appender>
    <!--設(shè)置日志級(jí)別-->
    <root level="WARN">
        <appender-ref ref="FILE"/>
    </root>

</configuration>


第6步:測(cè)試日志輸出

在Controller中編寫(xiě)測(cè)試代碼:

import ch.qos.logback.classic.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/")
public class HomeController {
    private static final Logger logger = (Logger) LoggerFactory.getLogger(HomeController.class);
    @GetMapping("/")
    public String index() {
        logger.debug("【Debug】- Hello.");
        logger.info("【Info】- Hello.");
        logger.warn("【W(wǎng)arn】- Hello.");
        logger.error("【Error】- Hello.");
        return "index";
    }
}

1.測(cè)試開(kāi)發(fā)環(huán)境

在application.yaml文件中,配置:

spring:
  profiles:
    active: dev

運(yùn)行項(xiàng)目,訪問(wèn)對(duì)應(yīng)的地址,即可看到控制臺(tái)日志輸出:

2.測(cè)試生產(chǎn)環(huán)境

在application.yaml文件中,配置:

spring:
  profiles:
    active: pro

 運(yùn)行項(xiàng)目,訪問(wèn)對(duì)應(yīng)的地址,即可看到對(duì)應(yīng)目錄下的日志輸出:

這個(gè)日志存放路徑,可以根據(jù)logback/pro.xml中fileNamePattern配置。 

第7步:關(guān)閉logback啟動(dòng)日志(可選)

使用logback啟動(dòng)的時(shí)候總是會(huì)出現(xiàn)很多啟動(dòng)日志,但是很多時(shí)候卻完全不需要這些日志,此時(shí)就會(huì)想到關(guān)閉這些日志。

只需要按照如下在logback.xml里面增加一行配置即可關(guān)閉logback啟動(dòng)時(shí)的一堆日志。

<configuration debug="false">
    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
    ...
<configuration>

以上就是SpringBoot多環(huán)境下集成logback的配置指南的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot集成logback的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java8中@Contended注解的使用

    java8中@Contended注解的使用

    本文主要介紹了java8中@Contended注解的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • SpringBoot項(xiàng)目使用?axis?調(diào)用webservice接口的實(shí)踐記錄

    SpringBoot項(xiàng)目使用?axis?調(diào)用webservice接口的實(shí)踐記錄

    這篇文章主要介紹了SpringBoot項(xiàng)目使用?axis?調(diào)用webservice接口,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Spring?AI集成DeepSeek實(shí)現(xiàn)流式輸出的操作方法

    Spring?AI集成DeepSeek實(shí)現(xiàn)流式輸出的操作方法

    本文介紹了如何在SpringBoot中使用Sse(Server-SentEvents)技術(shù)實(shí)現(xiàn)流式輸出,后端使用SpringMVC中的SseEmitter對(duì)象,前端使用EventSource對(duì)象監(jiān)聽(tīng)SSE接口并展示數(shù)據(jù)流,通過(guò)這種方式可以提升用戶體驗(yàn),避免大模型響應(yīng)速度慢的問(wèn)題,感興趣的朋友一起看看吧
    2025-03-03
  • java 中模擬UDP傳輸?shù)陌l(fā)送端和接收端實(shí)例詳解

    java 中模擬UDP傳輸?shù)陌l(fā)送端和接收端實(shí)例詳解

    這篇文章主要介紹了java 中模擬UDP傳輸?shù)陌l(fā)送端和接收端實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Spring數(shù)據(jù)庫(kù)多數(shù)據(jù)源路由配置過(guò)程圖解

    Spring數(shù)據(jù)庫(kù)多數(shù)據(jù)源路由配置過(guò)程圖解

    這篇文章主要介紹了Spring數(shù)據(jù)庫(kù)多數(shù)據(jù)源路由配置過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • java實(shí)現(xiàn)攝像頭截圖功能

    java實(shí)現(xiàn)攝像頭截圖功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)攝像頭截圖功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • springboot啟動(dòng)時(shí)如何獲取端口和項(xiàng)目名

    springboot啟動(dòng)時(shí)如何獲取端口和項(xiàng)目名

    這篇文章主要介紹了springboot啟動(dòng)時(shí)如何獲取端口和項(xiàng)目名,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java求解漢諾塔問(wèn)題示例

    java求解漢諾塔問(wèn)題示例

    漢諾塔問(wèn)題的描述如下:有3根柱子A、B和C,在A上從上往下按照從小到大的順序放著一些圓盤(pán),以B為中介,把盤(pán)子全部移動(dòng)到C上。移動(dòng)過(guò)程中,要求任意盤(pán)子的下面要么沒(méi)有盤(pán)子,要么只能有比它大的盤(pán)子。編程實(shí)現(xiàn)3階漢諾塔的求解步驟
    2014-02-02
  • Java初學(xué)者之五子棋游戲?qū)崿F(xiàn)教程

    Java初學(xué)者之五子棋游戲?qū)崿F(xiàn)教程

    這篇文章主要為大家詳細(xì)介紹了Java初學(xué)者之五子棋游戲?qū)崿F(xiàn)教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Java實(shí)現(xiàn)簡(jiǎn)單的學(xué)生教師管理系統(tǒng)

    Java實(shí)現(xiàn)簡(jiǎn)單的學(xué)生教師管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的學(xué)生教師管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評(píng)論

基隆市| 正定县| 沁水县| 岱山县| 曲麻莱县| 铁岭县| 江达县| 乌兰浩特市| 贺州市| 华阴市| 湖南省| 宁波市| 壶关县| 汕尾市| 北宁市| 美姑县| 武穴市| 老河口市| 文登市| 额济纳旗| 万荣县| 西宁市| 关岭| 泰兴市| 通许县| 关岭| 台江县| 沙坪坝区| 东兴市| 本溪| 易门县| 富蕴县| 涡阳县| 淮阳县| 溧水县| 三门峡市| 瑞安市| 奇台县| 临夏县| 昂仁县| 文昌市|