欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

logback 實(shí)現(xiàn)給變量指定默認(rèn)值

 更新時(shí)間:2021年08月30日 11:04:15   作者:踩姑涼的小蘑菇  
這篇文章主要介紹了logback 實(shí)現(xiàn)給變量指定默認(rèn)值操作,具有很好的參考家價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

logback 實(shí)現(xiàn)給變量指定默認(rèn)值

格式是 ${變量名:-默認(rèn)值}

**光有冒號(hào)還不夠,再加條短線后面才是默認(rèn)值**

    <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參數(shù)來定義

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

變量的作用域

變量有三個(gè)作用域:

  • local 作用域在配置文件內(nèi)有效
  • context 作用域的有效范圍延伸至 logger context
  • system 作用域的范圍最廣,整個(gè) JVM 內(nèi)都有效
  • logback 在替換變量時(shí),首先搜索 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>

變量的默認(rèn)值

在引用一個(gè)變量時(shí),如果該變量未定義,需要為其指定默認(rèn)值,寫法是:

${變量名:-默認(rèn)值}

示例:

<?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>

變量使用

使用方式:

${變量名}

示例:參見前面示例中用法。

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

相關(guān)文章

  • springboot創(chuàng)建監(jiān)聽和處理事件的操作方法

    springboot創(chuàng)建監(jiān)聽和處理事件的操作方法

    這篇文章主要介紹了springboot創(chuàng)建監(jiān)聽和處理事件的操作方法,使用Spring Boot的事件機(jī)制來監(jiān)聽和處理事件有多種優(yōu)勢(shì),本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-07-07
  • 關(guān)于使用swagger整合springMVC的方法

    關(guān)于使用swagger整合springMVC的方法

    在平時(shí)開發(fā)寫接口文檔的工作時(shí),一般都是word文檔,帶來書寫麻煩、維護(hù)麻煩的問題,比如改了源代碼忘了更新文檔、解釋不明確帶來歧義、無法在線嘗試等等,swagger可以有效解決這類問題,需要的朋友可以參考下
    2023-04-04
  • Spring與Hibernate整合事務(wù)管理的理解

    Spring與Hibernate整合事務(wù)管理的理解

    這篇文章主要介紹了Spring與Hibernate整合事務(wù)管理的理解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Struts2 漏洞分析及如何提前預(yù)防

    Struts2 漏洞分析及如何提前預(yù)防

    2016年4月26日,Struts2發(fā)布一份安全公告,CVE編號(hào) CVE-2016-3081。這是自2012年Struts2命令執(zhí)行漏洞大規(guī)模爆發(fā)之后,該服務(wù)時(shí)隔四年再次爆發(fā)大規(guī)模漏洞。該漏洞也是今年目前爆出的最嚴(yán)重安全漏洞。本文分析了漏洞的原理危害影響防護(hù)等內(nèi)容。
    2016-05-05
  • 淺談java switch如果case后面沒有break,會(huì)出現(xiàn)什么情況?

    淺談java switch如果case后面沒有break,會(huì)出現(xiàn)什么情況?

    這篇文章主要介紹了淺談java switch如果case后面沒有break,會(huì)出現(xiàn)什么情況?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想小編過來看看吧
    2020-09-09
  • 基于Redis分布式鎖Redisson及SpringBoot集成Redisson

    基于Redis分布式鎖Redisson及SpringBoot集成Redisson

    這篇文章主要介紹了基于Redis分布式鎖Redisson及SpringBoot集成Redisson,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小小伙伴可以參考一下
    2022-09-09
  • Java數(shù)組動(dòng)態(tài)增加容量過程解析

    Java數(shù)組動(dòng)態(tài)增加容量過程解析

    這篇文章主要介紹了Java數(shù)組動(dòng)態(tài)增加容量過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • java如何根據(jù)PostMan發(fā)送請(qǐng)求設(shè)置接口請(qǐng)求工具類

    java如何根據(jù)PostMan發(fā)送請(qǐng)求設(shè)置接口請(qǐng)求工具類

    在Java中調(diào)用第三方接口可以通過不同的方式,如使用GET、POST等請(qǐng)求,關(guān)鍵點(diǎn)包括設(shè)置正確的請(qǐng)求方式、URL、參數(shù)(params)、頭信息(headers)和請(qǐng)求體(body),對(duì)于不同的數(shù)據(jù)格式,如XML和JSON,需在header中聲明內(nèi)容類型
    2024-09-09
  • java整合SSM框架的圖文教程

    java整合SSM框架的圖文教程

    下面筆者就為大家分享一篇java整合SSM框架的圖文教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨筆者過來看看吧
    2017-11-11
  • Springboot工程中使用filter過程解析

    Springboot工程中使用filter過程解析

    這篇文章主要介紹了springboot工程中使用filter過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論