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

springboot中配置logback-spring.xml過程

 更新時(shí)間:2026年05月09日 10:10:38   作者:m0_38011384  
本文介紹了在SpringBoot中配置logback日志的基本步驟和配置元素,包括appender、root和logger的配置,以及如何根據(jù)不同環(huán)境配置不同的日志格式輸出

一、在src/main/resources目錄下

也就是在classpath路徑下創(chuàng)建logback-spring.xml

注:springboot框架自動(dòng)配置,如果更換名稱,可在配置文件指定該文件即可

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="log_dir" value="${user.dir}/logs"/>
<!--    <property name="log_dir" value="D:/logs"/>-->
    <!-- 控制臺輸出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{80} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- info -->
    <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log_dir}/info.log</file>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_dir}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory> <!-- 保留30天的日志 -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- info -->
    <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log_dir}/warn.log</file>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_dir}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory> <!-- 保留30天的日志 -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- error -->
    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log_dir}/error.log</file>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_dir}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory> <!-- 保留30天的日志 -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 設(shè)置日志級別 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="INFO" />
        <appender-ref ref="ERROR"/>
        <appender-ref ref="WARN"/>
    </root>
<!--    <logger name="com.example.demo" level="ERROR">-->
<!--        <appender-ref ref="ERROR"/>-->
<!--    </logger>-->
<!--    <logger name="myservice" level="info"> example: LoggerFactory.getLogger("myservice")-->
<!--        <appender-ref ref="INFO"/>-->
<!--    </logger>-->
<!--    <logger name="com.example.demo.test.PDF2Img" level="info">-->
<!--        <appender-ref ref="INFO"/>-->
<!--    </logger>-->
</configuration>

二、日志xml配置,根元素是:configuation

根元素下同級的主要配置元素有三個(gè):

1.appender

  • 該配置表明:希望日志通過什么樣的方式輸出,并且輸出到何處(比如控制臺、文件等)

2.root

  • 該配置表明:配置日志根級別,也就是日志最低級別,如:debug<info<warn<error,日志級別越低,輸出范圍就廣。比如:配置root級別level=“info”,那么info以上的日志都能輸出,即info、warn和error都能打印輸出

3.logger

  • 該配置表明:可以指定包、類或者自定義名稱,并配置級別,告訴日志此配置下的日志和級別輸出到指定的位置,如代碼所示。
  • 可選屬性:property,可以定義參數(shù)名稱和值,方便appender中引用

三、根據(jù)不同環(huán)境配置不同的日志格式輸出

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 自定義屬性 -->
    <property name="log_dir" value="${user.dir}/logs"/>
    <!-- 控制臺輸出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{80}[line:%line]: %msg%n</pattern>
        </encoder>
    </appender>
    <!-- info -->
    <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log_dir}/info.log</file>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_dir}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory> <!-- 保留30天的日志 -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{80}[line:%line] - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- info -->
    <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log_dir}/warn.log</file>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_dir}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory> <!-- 保留30天的日志 -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{80}[line:%line] - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- error -->
    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log_dir}/error.log</file>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_dir}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory> <!-- 保留30天的日志 -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{80}[line:%line] - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 設(shè)置開發(fā)環(huán)境日志級別 -->
    <springProfile name="dev">
        <root level="INFO">
            <appender-ref ref="STDOUT" />
        </root>
    </springProfile>
    <!-- 設(shè)置測試環(huán)境日志級別 -->
    <springProfile name="test">
        <root level="INFO">
            <appender-ref ref="INFO" />
            <appender-ref ref="ERROR"/>
            <appender-ref ref="WARN"/>
        </root>
    </springProfile>
    <!-- 設(shè)置生產(chǎn)環(huán)境日志級別 -->
    <springProfile name="prod">
        <root level="INFO">
            <appender-ref ref="INFO" />
            <appender-ref ref="ERROR"/>
            <appender-ref ref="WARN"/>
        </root>
    </springProfile>
<!--    <logger name="com.bdqn.assistant.utils" level="info">-->
<!--        <appender-ref ref="INFO"/> -->
<!--    </logger>-->
</configuration>

如上配置:

  • springProfile 這個(gè)標(biāo)簽就是對應(yīng)spring.profiles.active屬性,
  • name這個(gè)屬性值就是spring.profiles.active對應(yīng)的值,比如:dev、test、prod
  • 依據(jù)這個(gè)環(huán)境標(biāo)簽參數(shù),可以自由設(shè)置xml的各種標(biāo)簽引用。

另外,可以對日志的樣式進(jìn)行設(shè)置,后續(xù)補(bǔ)充?。?!

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot整合Kafka實(shí)現(xiàn)高可用消息隊(duì)列集群詳解

    SpringBoot整合Kafka實(shí)現(xiàn)高可用消息隊(duì)列集群詳解

    Apache?Kafka是一個(gè)分布式流處理平臺,這篇文章主要介紹了SpringBoot如何整合Kafka實(shí)現(xiàn)高可用消息隊(duì)列集群,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-01-01
  • 在IDEA中創(chuàng)建Web項(xiàng)目的詳細(xì)過程

    在IDEA中創(chuàng)建Web項(xiàng)目的詳細(xì)過程

    這篇文章主要給大家介紹了關(guān)于在IDEA中創(chuàng)建Web項(xiàng)目的詳細(xì)過程,很多朋友可能在學(xué)習(xí)java基礎(chǔ)的時(shí)候已經(jīng)熟練掌握了IDEA創(chuàng)建java項(xiàng)目的基本步驟,但隨著學(xué)習(xí)技術(shù)的不斷深入,不同的IDEA版本可能在項(xiàng)目的創(chuàng)建頁面上出現(xiàn)些許的出入,需要的朋友可以參考下
    2023-10-10
  • SpringBoot集成slf4j2日志配置的實(shí)現(xiàn)示例

    SpringBoot集成slf4j2日志配置的實(shí)現(xiàn)示例

    本文主要介紹了SpringBoot集成slf4j2日志配置的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • springboot中如何使用@Async方法

    springboot中如何使用@Async方法

    這篇文章主要介紹了springboot中如何使用@Async方法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java如何獲取List<String>中的String詳解

    Java如何獲取List<String>中的String詳解

    工作了這么長時(shí)間了,一直沒有記錄的習(xí)慣,以至于導(dǎo)致我即便是查過的東西總會忘記,下面這篇文章主要給大家介紹了關(guān)于Java如何獲取List<String>中String的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • java中Pulsar?InterruptedException?異常

    java中Pulsar?InterruptedException?異常

    這篇文章主要為大家介紹了java中Pulsar?InterruptedException?異常分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java8的Lambda和排序

    Java8的Lambda和排序

    這篇文章主要介紹了Java8的Lambda和排序,對數(shù)組和集合進(jìn)行排序是Java 8 lambda令人驚奇的一個(gè)應(yīng)用,我們可以實(shí)現(xiàn)一個(gè)Comparators來實(shí)現(xiàn)各種排序,下面文章將有案例詳細(xì)說明,想要了解得小伙伴可以參考一下
    2021-11-11
  • Java8中新判空方法之Optional類的使用詳解

    Java8中新判空方法之Optional類的使用詳解

    Opitonal類就是Java提供的為了解決大家平時(shí)判斷對象是否為空用的。本文將通過示例為大家講解一下Optional類的使用,感興趣的可以收藏一下
    2022-12-12
  • Java JUnit 使用及常用注解

    Java JUnit 使用及常用注解

    JUnit是Java開發(fā)中必不可少的測試框架之一,它可以幫助您編寫高質(zhì)量、可維護(hù)的單元測試,本文介紹了JUnit的基本用法、常用注解、測試套件和參數(shù)化測試等內(nèi)容,希望對您的測試工作有所幫助,感興趣的朋友一起看看吧
    2023-12-12
  • Java如何處理延遲任務(wù)過程解析

    Java如何處理延遲任務(wù)過程解析

    這篇文章主要介紹了Java如何處理延遲任務(wù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評論

都昌县| 汕尾市| 永平县| 铅山县| 罗平县| 浪卡子县| 阿克陶县| 高青县| 任丘市| 南昌县| 鹤岗市| 中江县| 宁蒗| 平顶山市| 黎城县| 正定县| 莱西市| 宁安市| 长沙县| 广汉市| 德令哈市| 肇东市| 荔波县| 辽阳市| 云安县| 江孜县| 汽车| 肃宁县| 呼图壁县| 璧山县| 元朗区| 格尔木市| 黄平县| 射阳县| 张家港市| 新野县| 敦煌市| 崇阳县| 平原县| 松桃| 会泽县|