spring-boot - Logback:测试是否定义了属性
问题描述
在 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 附加到变量名,我使用它...
我找不到任何可靠的文档,有没有更好的方法?
解决方案
派对迟到了,但是嘿。
logback 手册(http://logback.qos.ch/manual/configuration.html)提到了该isDefined
方法:
isDefined() 方法可用于检查属性是否已定义。例如,要检查属性“k”是否已定义,您可以编写 isDefined("k") 类似地,如果您需要检查属性是否为 null,则提供了 isNull() 方法。示例:isNull("k")。
推荐阅读
- contacts - 定义了 VCF TYPE=pref 的标准源(作为媒体的首选)?
- angular - 有没有办法用 devextreme angular 向手风琴添加一个按钮?
- clips - 如何添加全局变量来计算是或否响应的数量?
- c# - 如何在父标签页 xamarin 表单中更新徽章计数器
- c++ - 我应该有什么结构来模拟嵌入式系统类以进行桌面测试?
- arduino - 为什么我的温度探头读数如此之高?
- unity3d - 尝试构建 ios 应用程序时出现统一错误
- java - Redhat Fuse 更新了功能 repo 列表?
- android - Android Q Beta 4 获得 IMEI 和 IMSI
- django - 如何将用户流量的剩余负载从谷歌计算虚拟机分配到谷歌应用引擎?用 apache 运行 django