Logback:多个属性源

时间:2012-03-28 14:45:26

标签: logback

我想做类似的事情:

<insertFromJNDI env-entry-name="java:comp/env/conf/app-log-path" as="logPath" />
<if test='!isDefined("logPath") &amp;&amp; isDefined("catalina.home")'>
  <then>
    <property name="logPath" value="${catalina.home}/logs/" />
  </then>
</if>
<appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${logPath:-logs/}myapp.log</file>
</appender>   

也就是说,允许将JNDI属性发送到我的日志配置中,如果没有找到,则尝试使用catalina.home,如果找不到,则使用默认值。这可能吗?在我看来应该是,但似乎永远不会生效,也许属性不能以这种方式更新?文档(手册的第3章)使得属性替代看起来非常强大,但我似乎无法让它正常工作。

1 个答案:

答案 0 :(得分:0)

我相信我有一个旧的或不正确的演示。发布之后,我立即意识到属性是condition =“”而不是test =“”。