91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

logback如何實現給變量指定默認值

發布時間:2021-08-30 13:47:07 來源:億速云 閱讀:146 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關logback如何實現給變量指定默認值的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

    logback 實現給變量指定默認值

    格式是 ${變量名:-默認值}

    **光有冒號還不夠,再加條短線后面才是默認值**

    <appender name="info"  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>/logs${log.folder:-/imeth}/info.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- daily rollover -->
                <fileNamePattern>/logs${log.folder:-/imeth}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
                <!-- keep 30 days worth of history -->
                <maxHistory>30</maxHistory>
                <maxFileSize>${log.file.size.max:-50}MB</maxFileSize>
            </rollingPolicy>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
            <encoder>
                <pattern>
                    [%d{yyyy-MM-dd HH:mm:ss}] [%thread] [%-5level] %logger{35} -  %msg%n
                </pattern>
            </encoder>
        </appender>

    logback變量

    定義變量

    • 在 logback.xml 中定義

    • 在命令行定義

    • 引入properties文件

    在 logback.xml 中定義變量
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <property name="logBase" value="/logs"/>
    ...
    </configuration>
    在命令行定義變量

    在命令行通過大D參數來定義

    java -DHOME="/home/logstore" xxx.jar
    引入properties文件

    在properties文件定義變量。logback引入properties文件后,獲得變量。

    通過文件路徑引入properties文件:

    <configuration>
      <property file="/AppPath/logbackVars.properties" />
    ...
    </configuration>

    通過classpath引入properties文件:

    <configuration>
      <property resource="logbackVars.properties" />
    ...
    </configuration>

    properties文件的格式是 key-value 型:

    HOME=/logs

    變量的作用域

    變量有三個作用域:

    • local 作用域在配置文件內有效

    • context 作用域的有效范圍延伸至 logger context

    • system 作用域的范圍最廣,整個 JVM 內都有效

    • logback 在替換變量時,首先搜索 local 變量,然后搜索 context,然后搜索 system。

    如何為變量指定 scope ?

    <configuration>
      <property scope="context" name="home" value="/logs" />
      <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>/${home}/myApp.log</file>
    ...
      </appender>
    ...
    </configuration>

    變量的默認值

    在引用一個變量時,如果該變量未定義,需要為其指定默認值,寫法是:

    ${變量名:-默認值}

    示例:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <property name="logBase" value="${HOME:-/logs}"/>
        <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <FileNamePattern>${logBase}/log.%d{yyyy-MM-dd}.log</FileNamePattern>
                <MaxHistory>60</MaxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yy/MM/dd HH:mm:ss.SSS} %-5level %line %logger{15} - %msg %n</pattern>
                <charset>UTF-8</charset>
            </encoder>
        </appender>
    ...
    </configuration>

    變量使用

    使用方式:

    ${變量名}

    感謝各位的閱讀!關于“logback如何實現給變量指定默認值”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    皮山县| 弥勒县| 紫金县| 桓台县| 鲜城| 南充市| 井研县| 隆昌县| 平舆县| 上高县| 财经| 阳山县| 澜沧| 灌云县| 长寿区| 黔西| 昆山市| 青州市| 来凤县| 贺兰县| 静乐县| 临清市| 罗甸县| 宜兰市| 金山区| 望都县| 淳安县| 明水县| 张家口市| 西青区| 景谷| 昌宁县| 大田县| 济南市| 台湾省| 伊宁市| 大余县| 扎兰屯市| 龙陵县| 朝阳市| 彰化市|