Расположение файла журнала сервера IBM WAS из кода приложения Spring

Как получить местоположение журнала из кода приложения Spring. Я реализую функциональность регистрации для веб-службы Spring с использованием logback-classic. В logback.xml мне нужно указать место, где должен быть создан мой пользовательский файл журнала. Я использовал приведенный ниже фрагмент как appender в logback.xml.

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${logroot}/wsp-bloa.log</file>
    <encoder>
        <pattern>%d{ISO8601}|%t|%p|%c{1}|%m%n</pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>${logger.level}</level>
    </filter>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>${logroot}/wsp-bloa%i.log.gz</fileNamePattern>
        <minIndex>1</minIndex>
        <maxIndex>5</maxIndex>
    </rollingPolicy>

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>5MB</maxFileSize>
    </triggeringPolicy>
</appender>

Пожалуйста, дайте мне знать, если у нас есть какая-либо другая опция для получения SERVER_LOG_ROOT, кроме добавления переменной JVM в пользовательских свойствах для имитации среды SERVER_LOG_ROOT, например, такого ключа: logroot, значение: ${SERVER_LOG_ROOT}

1 ответ

Решение

Нету; Переменные websphere недоступны для поиска и не регистрируются автоматически как свойства jvm.

Вам нужно добавить его, как вы сказали, как пользовательские свойства JVM, или, в качестве альтернативы, использовать записи среды ресурса, чтобы сопоставить папку с пользовательским свойством, которое вы можете найти с помощью jndi.

Другие вопросы по тегам