Java 如果else条件未设置属性,则返回logback
我正在尝试根据系统属性的值在logback配置文件中设置属性 My logback.xml包含以下内容:Java 如果else条件未设置属性,则返回logback,java,logback,Java,Logback,我正在尝试根据系统属性的值在logback配置文件中设置属性 My logback.xml包含以下内容: <configuration> <property name="env" value="${env}" /> <if condition='property("env").equals("prod")'> <then> <property name="myProperty" value="PRODUCTION
<configuration>
<property name="env" value="${env}" />
<if condition='property("env").equals("prod")'>
<then>
<property name="myProperty" value="PRODUCTION"/>
</then>
<else>
<property name="myProperty" value="DEVELOPMENT"/>
</else>
</if>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern> env=${myProperty} msg=%msg%n</pattern>
</encoder>
</appender>
<root level="ALL">
<appender-ref ref="STDOUT" />
</root>
</configuration>
产出:
System property env=prod
env=myProperty_IS_UNDEFINED msg=This is a test.
有人能解释为什么我得到的
myProperty\u是未定义的吗?这是因为它是在if/else块中定义的。尝试在if/else块之前再添加一行
<property name="myProperty" value=""/>
如何运行java代码?
<property name="myProperty" value=""/>