[英]Use environment variable defined in web.xml in config files
我已經在戰爭包中的web.xml中定義了一個變量,例如:
<env-entry>
<env-entry-name>LOG_DIR</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>${CATALINA_HOME}</env-entry-value>
</env-entry>
另外,我在類路徑中有logback.xml文件。 我想在那里使用此變量:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/logs/WebStore.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%logger{36}] [%thread] %msg%n</pattern>
</encoder>
</appender>
當我啟動tomcat實例時,我在tomcat bin目錄中獲得LOG_DIR_IS_UNDEFINED文件夾。
我知道我可以創建一個屬性文件並將其導入到logback.xml中,但是我不想再創建一個文件,並且我對以這種方式使用變量很感興趣。 可能嗎?
環境條目在配置文件中可見,但是通常程序員必須專門設置環境范圍。 例如$${env:USER}
可以在Log4j中使用。 參見此處: http : //logging.apache.org/log4j/2.x/manual/lookups.html
另請參見以下答案: 如何在log4j.properties中使用系統環境變量?
在logback中可能存在類似的機制,但是我無法通過快速搜索找到任何東西。 如果所有人都發現了,歡迎您編輯此答案並添加它。 在特定情況下,您可以直接在logback.xml
使用${CATALINA_HOME}
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.