我正在开发一个 Spring Boot Web 应用程序。我正在尝试从我的 log4j2.xml 配置中的 Websphere 服务器访问环境变量。但不知何故它不起作用。
环境变量在以下路径下的 WAS 中设置 -
应用程序服务器 > server001 > 进程定义 > Java 虚拟机 > 自定义属性
environment variable image
我的 log4j2.xml 配置如下 -
<Appenders>
<RollingFile name="RollingFile"
fileName="$${env:environment}/apps/was/logs/app-logs.log"
filePattern="$${env:environment}/apps/was/logs/$${date:yyyy-MM}/app-logs-%d{-dd-MMMM-yyyy}-%i.log.gz">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
<Policies>
<OnStartupTriggeringPolicy />
<SizeBasedTriggeringPolicy
size="10 MB" />
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>
</Appenders>
我尝试使用 $${env:environment}/${env:environment}/${environment} 获取环境变量。没有任何工作在起作用。它无法获取环境变量。所以它创建了一个名为“${env:environment}”/${environment} 而不是“DVL”的文件夹。
从java我可以毫无问题地访问我的环境变量 -
System.getProperty("environment") ==> DVL
请帮忙。
最佳答案
我已经通过使用 ${sys:environment}
解决了这个问题而不是 ${env:environment}
.更多详情请查看文档 logging.apache.org/log4j/2.x/manual/lookups.html
关于spring-boot - 从 log4j2.xml 访问环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60090840/