我有一个log4j2 yml文件,该文件正在使用环境变量来指定日志记录位置。该配置文件的相关部分如下所示:
RollingFile:
name: logfile
PatternLayout:
pattern: "<%-5p>[%d{yyyy-MM-dd HH:mm:ss.SSS}]{%t}%c(%L): %m%n"
fileName: ${env:ENV_VAR1}${env:ENV_VAR2}.log
filePattern: ${env:ENV_VAR1}${env:ENV_VAR2}.%d{yyyy-MM-dd}.log
此配置可在Windows上运行,并且完全符合我的要求。在linux上,我在/ etc / environment中将环境变量添加为root,因此这些环境变量应该全局可用。但是,当我启动tomcat服务器时,正在/中以$ {env:ENV_VAR1} $ {env:ENV_VAR2} .log创建日志文件。当我运行printenv时,我可以看到所有的环境变量都在那里。为什么log4j2找不到它们?