0
我想配置在Tomcat上運行的應用程序的日誌系統,我希望它在$ CATALINA_HOME/logs下登錄,而不用硬編碼路徑。 在這樣做,所以我創造了這個配置文件log4j2.yaml:Log4j配置:如何在yaml配置文件中使用環境變量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。這是什麼語法?
你包括[標籤:YAML]這個變量標記,但是YAML中沒有任何東西可以處理環境變量。 – Anthon
所以這個https://logging.apache.org/log4j/2.x/manual/lookups.html#Environment_Lookup只能在xml配置中實現,但是在yaml中做類似的事情是不可能的? – oidualc
情況並非一定如此。這僅僅是YAML固有的東西。它需要通過在YAML解析器加載之後處理數據結構,或者在處理文本處理YAML解析器之前,在YAML之上(在'log4j2','tomcat'或任何其他)中實現。 – Anthon