如何从 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}
不,Websphere 变量不可用于查找,也不会自动注册为 JVM 属性。
您需要按照您所说的将其添加为 JVM 定制属性,或者使用资源环境条目将文件夹映射到可以使用 jndi 查找的定制属性。