spring-boot - 从 log4j2.xml 访问环境变量
问题描述
我正在开发一个 Spring Boot Web 应用程序。我正在尝试从我的 log4j2.xml 配置中的 Websphere 服务器访问环境变量。但不知何故,它不起作用。
环境变量在以下路径下的 WAS 中设置 -
应用程序服务器 > server001 > 进程定义 > Java 虚拟机 > 自定义属性
我的 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("环境") ==> DVL
请帮忙。
解决方案
我已经通过使用${sys:environment}
而不是解决了这个问题${env:environment}
。有关更多详细信息,请查看文档logging.apache.org/log4j/2.x/manual/lookups.html
推荐阅读
- python-3.x - 为什么在 hidapi 包中编写方法不起作用?
- javascript - 当前歌曲在 React JS 中路由到另一个页面时暂停,如何保持播放?
- php - 修复 FPDF 中文本的位置
- ruby-on-rails - 尝试使用 Protobuf 编码消息时出错
- awk - 如何在awk中剪切字段
- python - 如何在基于函数的视图中使用这个 objectmixins?
- lotus-notes - 在未显示所有文档的注释中为文档 UNID 选择@all
- react-native - 编译失败 这些文件都不存在 react native
- python - 如何使用html在网页上显示python输出
- javascript - 如何在加载所有图像之前延迟 CSS 动画?