logback|logback 实现给变量指定默认值

目录

  • logback 实现给变量指定默认值
    • 格式是 ${变量名:-默认值}
  • logback变量
    • 定义变量
      • 在 logback.xml 中定义变量
      • 在命令行定义变量
      • 引入properties文件
    • 变量的作用域
      • 变量的默认值
        • 变量使用

        logback 实现给变量指定默认值
        格式是 ${变量名:-默认值}
        **光有冒号还不够,再加条短线后面才是默认值**
        /logs${log.folder:-/imeth}/info.log/logs${log.folder:-/imeth}/info.%d{yyyy-MM-dd}.log30${log.file.size.max:-50}MBINFOACCEPTDENY[%d{yyyy-MM-dd HH:mm:ss}] [%thread] [%-5level] %logger{35} -%msg%n


        logback变量
        定义变量
        • 在 logback.xml 中定义
        • 在命令行定义
        • 引入properties文件

        在 logback.xml 中定义变量
        ...


        在命令行定义变量 在命令行通过大D参数来定义
        java -DHOME="/home/logstore" xxx.jar


        引入properties文件 在properties文件定义变量。logback引入properties文件后,获得变量。
        通过文件路径引入properties文件:
        ...

        通过classpath引入properties文件:
        ...

        properties文件的格式是 key-value 型:
        HOME=/logs


        变量的作用域
        变量有三个作用域:
        • local 作用域在配置文件内有效
        • context 作用域的有效范围延伸至 logger context
        • system 作用域的范围最广,整个 JVM 内都有效
        • logback 在替换变量时,首先搜索 local 变量,然后搜索 context,然后搜索 system。
        如何为变量指定 scope ?
        【logback|logback 实现给变量指定默认值】/${home}/myApp.log......


        变量的默认值
        在引用一个变量时,如果该变量未定义,需要为其指定默认值,写法是:
        ${变量名:-默认值}
        示例:
        ${logBase}/log.%d{yyyy-MM-dd}.log60%d{yy/MM/dd HH:mm:ss.SSS} %-5level %line %logger{15} - %msg %nUTF-8...


        变量使用
        使用方式:
        ${变量名}
        示例:参见前面示例中用法。
        以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

          推荐阅读