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

时间:2017-08-10 15:45:02

标签: spring logging websphere logback-classic

如何从spring应用程序代码获取日志位置。我正在使用logback-classic实现Spring Web服务的日志记录功能。在logback.xml中,我需要提到必须创建自定义日志文件的位置。我在logback.xml中使用下面的代码作为appender。

<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以获取类似此键的内容:logroot,value:$ {SERVER_LOG_ROOT}

1 个答案:

答案 0 :(得分:1)

都能跟得上; websphere变量不可用于查找,并且不会自动注册为jvm属性。

您需要像JVM自定义属性一样添加它,或者使用资源环境条目将文件夹映射到您可以使用jndi查找的自定义属性。