返回顶部
首页 > 资讯 > 后端开发 > Python >logback 实现给变量指定默认值
  • 593
分享到

logback 实现给变量指定默认值

2024-04-02 19:04:59 593人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

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

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>

变量使用

使用方式:

${变量名}

示例:参见前面示例中用法。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: logback 实现给变量指定默认值

本文链接: https://lsjlt.com/news/133963.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • logback 实现给变量指定默认值
    目录logback 实现给变量指定默认值格式是 ${变量名:-默认值}logback变量定义变量在 logback.xml 中定义变量在命令行定义变量引入properties文件变量...
    99+
    2024-04-02
  • JavaScript怎么给参数指定默认值
    本篇内容介绍了“JavaScript怎么给参数指定默认值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 分配给用户变量的位值的默认类型是什么?
    默认情况下,分配给用户变量的位值是二进制字符串。可以通过将位值分配给用户变量然后按如下方式检索它们来说明 -mysql> SET @abc = 0b1000011; Query OK, 0 rows affected (0.00 se...
    99+
    2023-10-22
  • python函数指定默认值的实例讲解
    1、说明 (1)写函数时,可以为每个参数指定默认值。当调用函数为参数提供实际参数时,Python将使用指定的实际参数;否则,将使用参数的默认值。因此,给参数指定默认值后,可以在函数调...
    99+
    2024-04-02
  • Java未赋值变量的初始值解析(默认值)
    目录Java未赋值变量的初始值(默认值)初始值(默认值)实例变量(非静态字段)类变量(静态字段)本地变量参数解决java未赋值变量的默认值问题如下所示Java未赋值变量的初始值(默认...
    99+
    2024-04-02
  • 如何在SASS 中使用变量的默认值
    今天就跟大家聊聊有关如何在SASS 中使用变量的默认值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SASS 中定义的变量,后设置的值会覆盖旧的值。$color: red;...
    99+
    2023-06-08
  • Java给实体每一个字段赋默认值
    目录 一、初级版 1、工具类 2、实体类与测试代码 二、升级版-多层嵌套 1、工具类 2、实体类与测试代码 三、最终版-各种集合 1、工具类 2、实体类与测试代码 一、初级版 1、工具类         使用反射机制实现任意实体类字段的默...
    99+
    2023-08-31
    java 开发语言
  • python函数指定默认值的示例分析
    小编给大家分享一下python函数指定默认值的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、说明(1)写函数时,可以为每个参数指定默认值。当调用函数为...
    99+
    2023-06-14
  • 怎么在python中为函数指定默认值
    怎么在python中为函数指定默认值?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,...
    99+
    2023-06-14
  • 如何在 MySQL INSERT 语句中指定默认值?
    在创建表时,如果任何列定义了默认值,那么通过在 INSERT 语句中使用关键字“DEFAULT”,我们可以为该列获取默认值。例如,我们创建了一个表“employee”,其默认值为“DOJ”列,如下所示 -mysql> Create t...
    99+
    2023-10-22
  • C++函数参数的默认值怎么指定
    本篇内容介绍了“C++函数参数的默认值怎么指定”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.参数默认值的指定方式在 C++ 中,可以在函...
    99+
    2023-06-30
  • java中给实体对象属性的空值赋默认值
    目录给实体对象属性的空值赋默认值给实体类赋默认值通用方法给实体对象属性的空值赋默认值 private final String defaultStr = ""; private fi...
    99+
    2024-04-02
  • 聊聊java变量的初始化之后的默认值
    变量初始化后的默认值 对于类的成员变量 不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。 1、整数类型(byte、short、int、long)的基本类型变...
    99+
    2024-04-02
  • SpringBoot使用@Value实现给静态变量注入值
    SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值 例如 application-dev.properties 配置文件有如下配置: 给普通变量...
    99+
    2024-04-02
  • Java八种基本变量作为类的成员变量的默认值操作
    目录Java类成员变量的默认值下面我们看看我们的八种数据类型的默认值是什么样的总结boolean型变量的默认值问题1、首先分析Java中的三种不同变量的区别2、然后判断boolean...
    99+
    2024-04-02
  • mysql 给查询结果新增一个字段,并设定默认值
    SELECT "第一中学" as school, class, name, geography FROM test_table WHERE test = 1;    插入新table: REPLACE...
    99+
    2016-07-17
    mysql 给查询结果新增一个字段,并设定默认值
  • 给JavaBean赋默认值并且转Json字符串的实例
    目录JavaBean赋默认值并转Json字符串此段代码还有值得优化的地方javaBean对象和Json格式字符串相互转换一.使用Jackson工具类二.使用Gson工具类JavaBe...
    99+
    2024-04-02
  • 使用JavaBean根据指定条件设置属性值默认值方式
    目录JavaBean根据指定条件设置属性值默认值使用场景使用范围使用示例JavaBean对象成员变量默认值及数组默认值JavaBean根据指定条件设置属性值默认值 使用场景 当bea...
    99+
    2024-04-02
  • 如何使用JavaBean根据指定条件设置属性值默认值
    这篇“如何使用JavaBean根据指定条件设置属性值默认值”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用JavaBe...
    99+
    2023-06-29
  • Python的类成员变量默认初始值的坑及解决
    目录类成员变量默认初始值的坑问题发现示例代码结果原因解决方法Python默认值参数简单粗暴上代码可以用下面这种写法类成员变量默认初始值的坑 问题发现 一个循环内,缺省值初始化同名变量...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作