在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附加到变量名,然后使用它...
我找不到关于它的任何可靠文档,有更好的方法吗?
答案 0 :(得分:1)
该晚了,但是,嘿。
登录手册(http://logback.qos.ch/manual/configuration.html)提到了isDefined
方法:
isDefined()方法可用于检查是否定义了属性。例如,要检查是否定义了属性“ k”,可以编写isDefined(“ k”)类似地,如果需要检查属性是否为null,则提供isNull()方法。示例:isNull(“ k”)。