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

springboot log多環(huán)境配置方式

 更新時間:2023年06月28日 10:45:52   作者:一克小白菜  
這篇文章主要介紹了springboot log多環(huán)境配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

前言 

bootstrap.yml(bootstrap.properties)與application.yml(application.properties)執(zhí)行順序

  • bootstrap.yml(bootstrap.properties)用來程序引導(dǎo)時執(zhí)行,應(yīng)用于更加早期配置信息讀取,如可以使用來配置application.yml中使用到參數(shù)等
  • application.yml(application.properties) 應(yīng)用程序特有配置信息,可以用來配置后續(xù)各個模塊中需使用的公共參數(shù)等。
  • bootstrap.yml 先于 application.yml 加載

1.第一種方法

直接寫在application.yml里面,也能適配環(huán)境修改,但是只能使用默認(rèn)一些策略,比如10M切分一個文件。

#日志配置
logging:
? level:
? ? root: INFO
? file: /home/xxx/logs/xxx.log

2.第二種方法

logback-spring.xml

<?xml version="1.0" encoding="utf-8"?>
<!--  Level	描述
     ALL	各級包括自定義級別
     ERROR	錯誤事件可能仍然允許應(yīng)用程序繼續(xù)運(yùn)行
     FATAL	指定非常嚴(yán)重的錯誤事件,這可能導(dǎo)致應(yīng)用程序中止
     INFO	指定能夠突出在粗粒度級別的應(yīng)用程序運(yùn)行情況的信息的消息
     OFF	這是最高等級,為了關(guān)閉日志記錄
    TRACE	指定細(xì)粒度比DEBUG更低的信息事件
    WARN	指定具有潛在危害的情況
    scan:當(dāng)此屬性設(shè)置為true時,配置文件如果發(fā)生改變,將會被重新加載,默認(rèn)值為true。
    scanPeriod:設(shè)置監(jiān)測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認(rèn)單位是毫秒。當(dāng)scan為true時,此屬性生效。默認(rèn)的時間間隔為1分鐘。
    debug:當(dāng)此屬性設(shè)置為true時,將打印出logback內(nèi)部日志信息,實(shí)時查看logback運(yùn)行狀態(tài)。默認(rèn)值為false。-->
<configuration debug="true" scan="true" scanPeriod="30 seconds">
    <!-- 存放日志文件路徑  該 <springProperty> 標(biāo)簽允許我們從Spring中顯示屬性-->
    <springProperty scope="context" name="logHome" source="log.path"/>
    <!-- ch.qos.logback.core.ConsoleAppender 控制臺輸出 -->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符 -->
            <pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern>
        </layout>
    </appender>
    <!-- INFO級別 -->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 級別過濾器:如果只是想要INFO級別的日志,只是過濾info還是會輸出ERROR日志,因為ERROR的級別高,
        所以我們使用下面的策略,可以避免輸出ERROR的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!-- 過濾ERROR -->
            <level>ERROR</level>
            <!-- 匹配到就禁止 -->
            <onMatch>DENY</onMatch>
            <!-- 沒有匹配到就允許 -->
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符 -->
            <pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
        <!--日志名稱,如果沒有File 屬性,那么只會使用FileNamePattern的文件路徑規(guī)則,如果同時有<File>和<FileNamePattern>,
        那么當(dāng)天日志是<File>,明天會自動把今天的日志改名為今天的日期。即<File> 的日志都是當(dāng)天的。-->
        <!-- 根據(jù)時間來制定滾動策略 TimeBasedRollingPolicy-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路徑-->
            <fileNamePattern>${logHome}/%d/info/info.log</fileNamePattern>
            <!--保存最大天數(shù)-->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>
    <!-- ERROR級別-->
    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--如果只是想要 ERROR 級別的日志,那么需要過濾一下,默認(rèn)是 INFO 級別的,ThresholdFilter-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符 -->
            <pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
        <!-- 基于規(guī)模和時間的滾動策略 SizeAndTimeBasedRollingPolicy-->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--路徑-->
            <fileNamePattern>${logHome}/%d/error/error.%i.log</fileNamePattern>
            <!--保存最大天數(shù)-->
            <maxHistory>30</maxHistory>
            <!--文件最大值-->
            <maxFileSize>2MB</maxFileSize>
            <!--總大小上限-->
            <totalSizeCap>10MB</totalSizeCap>
        </rollingPolicy>
    </appender>
    <root level="info">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileInfoLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>
</configuration>

一開始在application.yml 配置了log路徑,但是springProperty 標(biāo)簽里面并沒有獲取到,會見在jar包存放的文件夾下,新建logHome_IS_UNDEFINED/%d/info/info.log,看下啟動日志(一部分):

13:44:32,739 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@992086987 - No compression will be used
13:44:32,742 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@992086987 - Will use the pattern logHome_IS_UNDEFINED/%d/info/info.log for the active file
13:44:32,747 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'logHome_IS_UNDEFINED/%d/info/info.log'.
13:44:32,748 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
13:44:32,752 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Tue Aug 21 13:44:32 CST 2018
13:44:32,753 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[fileInfoLog] - Active log file name: logHome_IS_UNDEFINED/2018-08-21/info/info.log
13:44:32,753 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[fileInfoLog] - File property is set to [null]
13:44:32,757 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
13:44:32,757 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [fileErrorLog]
13:44:32,758 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
13:44:32,763 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@737104370 - Archive files will be limited to [2 MB] each.
13:44:32,764 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@737104370 - No compression will be used
13:44:32,764 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@737104370 - Will use the pattern logHome_IS_UNDEFINED/%d/error/error.%i.log for the active file
13:44:32,765 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@30f5a68a - The date pattern is 'yyyy-MM-dd' from file name pattern 'logHome_IS_UNDEFINED/%d/error/error.%i.log'.

所以我在bootstrap.yml配置log.path來解決這個問題。

log:
  path: F:/logs/local-preferential
---
spring:
  profiles: test
log:
    path: /home/xxx-test/logs
---
spring:
  profiles: prod
log:
  path: /home/xxx/logs

啟動打印log配置日志(一部分)

13:43:03,375 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@224192895 - No compression will be used
13:43:03,376 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@224192895 - Will use the pattern F:/logs/local-preferential/%d/info/info.log for the active file
13:43:03,377 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'F:/logs/local-preferential/%d/info/info.log'.
13:43:03,377 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
13:43:03,377 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Tue Aug 21 13:43:03 CST 2018
13:43:03,377 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[fileInfoLog] - Active log file name: F:/logs/local-preferential/2018-08-21/info/info.log
13:43:03,378 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[fileInfoLog] - File property is set to [null]
13:43:03,378 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
13:43:03,378 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [fileErrorLog]
13:43:03,379 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
13:43:03,381 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1883788127 - Archive files will be limited to [2 MB] each.
13:43:03,381 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1883788127 - No compression will be used
13:43:03,382 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1883788127 - Will use the pattern F:/logs/local-preferential/%d/error/error.%i.log for the active file
13:43:03,382 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@e3994ef - The date pattern is 'yyyy-MM-dd' from file name pattern 'F:/logs/local-preferential/%d/error/error.%i.log'.

總結(jié)

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

相關(guān)文章

  • Spring Boot定時任務(wù)單線程多線程實(shí)現(xiàn)代碼解析

    Spring Boot定時任務(wù)單線程多線程實(shí)現(xiàn)代碼解析

    這篇文章主要介紹了Spring Boot定時任務(wù)單線程多線程實(shí)現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • MybatisPlus調(diào)用原生SQL的實(shí)現(xiàn)方法

    MybatisPlus調(diào)用原生SQL的實(shí)現(xiàn)方法

    本文主要介紹了MybatisPlus調(diào)用原生SQL的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Spring Boot啟動時調(diào)用自己的非web邏輯

    Spring Boot啟動時調(diào)用自己的非web邏輯

    在spring Boot中,有些代碼是WEB功能,例如API等,但是有些邏輯是非WEB,啟動時就要調(diào)用并持續(xù)運(yùn)行的,該如何加載自己的非WEB邏輯呢,下面通過實(shí)例代碼給大家講解,一起看看吧
    2017-07-07
  • java垃圾回收原理之GC算法基礎(chǔ)

    java垃圾回收原理之GC算法基礎(chǔ)

    本章簡要介紹GC的基本原理和相關(guān)技術(shù), 下一章節(jié)再詳細(xì)講解GC算法的具體實(shí)現(xiàn)。各種垃圾收集器的實(shí)現(xiàn)細(xì)節(jié)雖然并不相同,但總體而言,垃圾收集器都專注于兩件事情:查找所有存活對象,拋棄其他的部分,即死對象,不再使用的對象
    2022-01-01
  • logback高效狀態(tài)管理器StatusManager源碼解析

    logback高效狀態(tài)管理器StatusManager源碼解析

    這篇文章主要為大家介紹了logback高效狀態(tài)管理器StatusManager源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java實(shí)現(xiàn)高效PDF文件傳輸技巧

    Java實(shí)現(xiàn)高效PDF文件傳輸技巧

    你是否曾為PDF文件傳輸?shù)牡托识鄲溃楷F(xiàn)在,有了這份Java實(shí)現(xiàn)高效PDF文件傳輸技巧指南,你將能夠輕松解決這個問題,我們將分享一些實(shí)用的技巧和最佳實(shí)踐,幫助你優(yōu)化文件傳輸過程,不要錯過這個提高工作效率的機(jī)會,快來閱讀這份指南吧!
    2024-03-03
  • Java Swing程序設(shè)計實(shí)戰(zhàn)

    Java Swing程序設(shè)計實(shí)戰(zhàn)

    今天教大家怎么用JavaSwing工具包實(shí)現(xiàn)一個程序的界面設(shè)計,文中有非常詳細(xì)的代碼示例及注釋,對正在學(xué)習(xí)Java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot獲取application.properties文件中文亂碼問題及解決

    SpringBoot獲取application.properties文件中文亂碼問題及解決

    這篇文章主要介紹了SpringBoot獲取application.properties文件中文亂碼問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Spring定時任務(wù)中@PostConstruct被多次執(zhí)行異常的分析與解決

    Spring定時任務(wù)中@PostConstruct被多次執(zhí)行異常的分析與解決

    這篇文章主要給大家介紹了關(guān)于Spring定時任務(wù)中@PostConstruct被多次執(zhí)行異常的分析與解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • IDEA常用插件之類Jar包搜索Maven Search解讀

    IDEA常用插件之類Jar包搜索Maven Search解讀

    文章介紹了IDEA常用插件MavenSearch的使用方法,該插件可以幫助用戶快速查找和瀏覽Maven中央存儲庫中可用的依賴項和插件,方便用戶管理項目依賴項
    2025-01-01

最新評論

祁阳县| 大城县| 郧西县| 济南市| 全椒县| 承德县| 华蓥市| 广平县| 横山县| 陕西省| 五大连池市| 黄冈市| 岳西县| 武夷山市| 武清区| 内丘县| 棋牌| 康保县| 宽甸| 砚山县| 红桥区| 湖北省| 突泉县| 临夏县| 无为县| 吉隆县| 祁阳县| 盐边县| 西峡县| 武川县| 老河口市| 郎溪县| 仪征市| 建始县| 威信县| 利辛县| 青海省| 辽阳市| 舒兰市| 舟曲县| 伊金霍洛旗|