我想做类似的事情:
<insertFromJNDI env-entry-name="java:comp/env/conf/app-log-path" as="logPath" />
<if test='!isDefined("logPath") && 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章)使得属性替代看起来非常强大,但我似乎无法让它正常工作。
答案 0 :(得分:0)
我相信我有一个旧的或不正确的演示。发布之后,我立即意识到属性是condition =“”而不是test =“”。