【问题标题】:Logback: test if property is definedLogback:测试是否定义了属性
【发布时间】:2019-08-03 22:39:32
【问题描述】:

在 Spring Boot / Logback 项目中,我想检查系统属性是否设置为使用给定的附加程序。我的代码是:

<property name="MY_PROPERTY" value="${MY_PROPERTY:-}" />
....
<logger name="com.my.project" level="INFO">
    <if condition='property("MY_PROPERTY").equalsIgnoreCase("MY_PROPERTY_IS_UNDEFINED")'>
        <then>
            <appender-ref ref="STDOUT" />
        </then>
        <else>
            <appender-ref ref="APPENDER_WITH_ MY_PROPERTY" />
        </else>
    </if>
</logger>

上面的代码(似乎)有效,但这并不好。 property() 方法将 _IS_UNDEFINED 附加到变量名,我使用它...

我找不到任何可靠的文档,有没有更好的方法?

【问题讨论】:

    标签: spring-boot logging logback spring-logback


    【解决方案1】:

    派对迟到了,但是嘿。

    logback 手册(http://logback.qos.ch/manual/configuration.html)提到了isDefined 方法:

    isDefined() 方法可用于检查属性是否已定义。例如,要检查属性“k”是否已定义,您可以编写 isDefined("k") 类似地,如果您需要检查属性是否为 null,则提供了 isNull() 方法。示例:isNull("k")。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-09
      • 2012-01-25
      • 2013-06-13
      • 1970-01-01
      • 2013-01-31
      • 2015-09-26
      • 1970-01-01
      相关资源
      最近更新 更多