来自 Spring 应用程序代码的 IBM WAS 服务器日志文件位置

IBM WAS server log file location from Spring application code

如何从 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>

除了在自定义属性中添加 JVM 变量以模拟环境 SERVER_LOG_ROOT 之外,如果我们有任何其他选项来获取 SERVER_LOG_ROOT,请告诉我 SERVER_LOG_ROOT 类似这样的键:logroot,值:$ {SERVER_LOG_ROOT}

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

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