0

如何从 Spring 应用程序代码中获取日志位置。我正在使用 logback-classic 实现 Spring Web 服务的日志记录功能。在 logback.xml 中,我需要提及必须创建自定义日志文件的位置。我在 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}

4

1 回答 1

1

没有; websphere 变量不可用于查找,也不会自动注册为 jvm 属性。

您需要按照您所说的将其添加为 JVM 自定义属性,或者使用资源环境条目将文件夹映射到您可以使用 jndi 查找的自定义属性。

于 2017-08-15T09:17:03.097 回答