выход из системы, если еще условие не устанавливает свойство - PullRequest
0 голосов
/ 08 февраля 2020

Я пытаюсь установить свойство в файле конфигурации logback на основе значения системного свойства.

Мой logback. xml имеет следующее:

<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>

I запустить мой java код с системным свойством и без него -Denv=prod

Java код:

System.out.println("System property env=" + System.getProperty("env"));
log.info("This is a test.");

Выводы:

System property env=prod
env=myProperty_IS_UNDEFINED msg=This is a test.

Может кто-нибудь объяснить, почему Я получаю myProperty_IS_UNDEFINED?

...