2012-03-28 3 views
1

Я хочу сделать что-то вроде: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 руководства) делает свойство substituton довольно мощным, но я просто не могу заставить его работать исправно.

ответ

0

Я считаю, что у меня есть старая или некорректная демонстрация. Сразу после публикации этого вопроса я понял, что атрибут is condition = "" вместо test = "".

+0

Итак, с 'условием' это работает? – madth3

+0

Да, я не уверен, где я использовал атрибут @test, но когда я вернулся к другому примеру (третий раз), я, наконец, заметил разницу. Мне действительно нужна библиотека Janio, но у меня уже было это. В общем, протоколы logback довольно приятны, но некоторые из более продвинутых материалов могут использовать несколько более простых шагов поэтапного стиля. – Robert

Смежные вопросы