使用环境变量在项目外加载 log4j2.xml 文件
Load log4j2.xml file outside project with enviroment variable
我正在为 TomCat 7.0 服务器开发 java 网络应用程序 (v3.0),我在加载 log4j2.xm
l 文件时遇到问题。
我已经在我的项目外定义了 log4j2.xml
文件,并在我的 web.xml 文件中定义了该文件的路径。
如果我对路径进行硬编码,我的 log4j2.xml
文件会正常加载。
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>file:///C:/my/path/log4j2.xml</param-value>
</context-param>
另一方面,我想使用环境变量来定义路径。
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>file:///${ENVIROMENT_VARIABLE}/log4j2.xml</param-value>
</context-param>
当我开始 TomCat 我有这个错误:
ERROR SatusLogger Unable to access file:///$%7BENVIROMENT_VARIABLE%7D/log4j2.xml
看起来它不是 'translating' 变量。
非常感谢任何帮助。
PD:对不起我的英语。
Log4j 插入它在 web.xml 中为 log4jConfiguration 找到的值。但是,您必须使用标准的 Log4j 查找语法。要获取环境变量,您可以指定:
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>file:///${env:ENVIROMENT_VARIABLE}/log4j2.xml</param-value>
</context-param>
我正在为 TomCat 7.0 服务器开发 java 网络应用程序 (v3.0),我在加载 log4j2.xm
l 文件时遇到问题。
我已经在我的项目外定义了 log4j2.xml
文件,并在我的 web.xml 文件中定义了该文件的路径。
如果我对路径进行硬编码,我的 log4j2.xml
文件会正常加载。
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>file:///C:/my/path/log4j2.xml</param-value>
</context-param>
另一方面,我想使用环境变量来定义路径。
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>file:///${ENVIROMENT_VARIABLE}/log4j2.xml</param-value>
</context-param>
当我开始 TomCat 我有这个错误:
ERROR SatusLogger Unable to access file:///$%7BENVIROMENT_VARIABLE%7D/log4j2.xml
看起来它不是 'translating' 变量。
非常感谢任何帮助。
PD:对不起我的英语。
Log4j 插入它在 web.xml 中为 log4jConfiguration 找到的值。但是,您必须使用标准的 Log4j 查找语法。要获取环境变量,您可以指定:
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>file:///${env:ENVIROMENT_VARIABLE}/log4j2.xml</param-value>
</context-param>