2

我正在尝试在 logback 配置中使用 janino 条件语句,它与“if”和“else”一起工作正常。但是我想问是否可以在里面写“else if”?

我的情况 -

<if condition='p("log.environment").equals("prod")'>
    <then>
        <include file="${LOG_CONFIG_DIR}/logback-prod.xml" />
    </then>
</if>

<if condition='p("log.environment").equals("uat")'>
    <then>
        <include file="${LOG_CONFIG_DIR}/logback-uat.xml" />
    </then>
</if>

<if condition='p("log.environment").equals("dev")'>
    <then>
        <include file="${LOG_CONFIG_DIR}/logback-dev.xml" />
    </then>
</if>
4

2 回答 2

2

您可以if-then-else在多级中使用

<if condition='p("log.environment").equals("prod")'>
    <then>
        <include file="${LOG_CONFIG_DIR}/logback-prod.xml" />
    </then>
    <if condition='p("log.environment").equals("uat")'>
       <then>
            <include file="${LOG_CONFIG_DIR}/logback-uat.xml" />
       </then>
       <else>
           <include file="${LOG_CONFIG_DIR}/logback-dev.xml" />
       </else>
    </if>
</if>
于 2017-02-22T13:08:06.190 回答
1

尝试这样做。

<if condition=''>
  <then>..</then>
  <else>
    <if condition=''>
      <then>..</then>
      <else>..</else>
    </if>
  </else>
</if>
于 2017-10-30T09:33:34.877 回答