我正在尝试配置在 Tomcat 上运行的应用程序的日志系统,我希望它在 $CATALINA_HOME/logs 下记录而不对路径进行硬编码。 为此,我创建了这个配置文件 log4j2.yaml:
Configuration:
name: Default
Properties:
Property:
name: log-path
value: "/opt/apache-tomcat-8.5.15/logs"
Appenders:
Console:
name: Console_Appender
target: SYSTEM_OUT
PatternLayout:
pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"
File:
name: File_Appender
fileName: ${log-path}/logfile.log
PatternLayout:
pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"
Loggers:
Root:
level: error
AppenderRef:
- ref: Console_Appender
Logger:
- name: myname
level: debug
AppenderRef:
- ref: File_Appender
这确实有效。我想用环境变量 CATALINA_HOME 替换/opt/apache-tomcat-8.5.15。实现此目的的语法是什么?
最佳答案
如果您或任何人仍在寻找这个
环境属性设置如下
-DYourSystemProperies=/home/winner
你可以指定这个变量使用
RollingFile:
- name: RollingFile_Appender
fileName: ${sys:YourSystemProperies}/abc.log
关于java - Log4j 配置 : how to use environment variable in yaml configuration file log4j2. yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45145371/