2016-05-12 4 views
1

Я разрабатываю веб-приложение java (v3.0) для сервера TomCat 7.0, и у меня возникают проблемы с загрузкой файла log4j2.xm l.Загрузить файл log4j2.xml за пределами проекта с переменной окружения

Я определил файл 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 

Похоже, что это не 'перевод' переменная.

Любая помощь будет очень apccciated.

PD: Извините за мой английский.

ответ

2

Log4j интерполирует значение, которое он находит для log4jConfiguration в web.xml. Однако вы должны использовать стандартный синтаксис Log4j Lookup. Для получения переменной окружения вы указываете:

<context-param> 
    <param-name>log4jConfiguration</param-name> 
    <param-value>file:///${env:ENVIROMENT_VARIABLE}/log4j2.xml</param-value> 
</context-param> 
+0

Спасибо! Это сработало! – ferpinan