Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > настройки log4j должны лежать в WEB-INF/classes?


Автор: Tielvar 14.10.2010, 07:48
Здравствуйте. Проясните пожалуйста несведущему:

Рекомендуется класть настройки log4j.properties в папку WEB-INF/classes. Эта папка создается при билде приложения и лежит по адресу build/web/WEB-INF/classes. Разве правильно лезть руками в папку сборки? И почему настройки должны лежать именно там?

Автор: Myryan 14.10.2010, 08:37
WEB-INF/classes в веб приложении является classpath. То есть если файл с вашими пропертями находится в 
этой папке, то в web.xml к нему можно обратиться
Код

<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>


или еще проще

Код

<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>log4j.properties</param-value>
</context-param>


Автор: Skipy 14.10.2010, 10:07
Цитата
Разве правильно лезть руками в папку сборки?


Руками - нет. Если log4j.properties лежит в папке с ресурсами, которые копируются в classpath при сборке - это нормально.

Цитата
И почему настройки должны лежать именно там?


Потому что Log4J, если не инициализировать его явно с указанием местоположения файла конфигурации, ищет этот файл в classpath. В который, как уже было сказано предыдущим товарищем, входит /WEB-INF/classes.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)