Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > spring + log4j


Автор: Eugene128 12.5.2008, 10:13
Здравствуйте. У меня такая проблемма. Хочу подрубить к Spring-у log4j. Пишу log4j.xml, а при деплои томкат ищет его (log4j.xml) не у себя в директории, а в директории где проект находится и естественно его не находит. Как сделать так чтоб он его искал у себя в директории, там куда приложение разворачивается?

Автор: Kangaroo 12.5.2008, 14:37
Eugene128, а почему не положить его в проект?

Автор: Eugene128 12.5.2008, 15:22
Не, ну он там (в проекте) лежит. Но по другому пути. Я ж в итоге систему то на серваке разворачиваю. Туда этот log4j и копируется токо по другому пути. Мне ж нужно чтоб он его с сервера читал, а не с моего компа где проект лежит )). Я вообще не понимаю какого хрена он ищет его у мя в проекте. Нигде в томкате вроде путь к моему проету не прописан. 
Вот так в applicationContext я пытаюсь подрубить log4j:
Код

<bean id="log4jInitialization" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetClass">
            <value>org.springframework.util.Log4jConfigurer</value>
        </property>
        <property name="targetMethod">
            <value>initLogging</value>
        </property>
        <property name="arguments">
            <list>
                <value>WEB-INF/log4j.xml</value>
            </list>
        </property>
    </bean>


А мне во время деплоя выводится: log4j:ERROR Could not parse url [file:/C:/Documents%20and%20Settings/friend/workspace/Phonebook/WEB-INF/log4j.xml].
LMRS-1000-0081-0219-9073

А это у меня путь кпроекту. Томкат в другом месте стоит. Соответственно и приложение в другом месте разворачивается. Там тож есть этот log4j. Но он туда не смотрит, а смотрит по вышеуказанному адресу не понятно почему.....

Автор: Kangaroo 12.5.2008, 16:29
Попробуй ничего не прописывать в аппликейшнКонтексте и просто положить log4j.xml в WEB-INF/classes

Автор: Eugene128 12.5.2008, 17:40
В таком случае логирование-то работает. Токо вот файлы создаются не в томкате, а в проекте. Туда и пишется инфа... ((... Мож  надо как то указать какую нить головную директорию или еще что?

Автор: Kangaroo 12.5.2008, 18:03
Цитата(Eugene128 @  12.5.2008,  17:40 Найти цитируемый пост)
Мож  надо как то указать какую нить головную директорию или еще что? 

Пропиши:
Код

<param name="File" value="${catalina.base}/DIRECTORY_WITH_YOUR_LOGS/logFile.log" />

Автор: Eugene128 13.5.2008, 10:53
Kangaroo, так работает. С небольшим косяком. Он создает в двух местах файлы для логирования: там где я ему говорю и в проекте (шаманская технология). Но само логирования идет в нужные мне файлы, а те, которые в проекте так пустые и валяются. Так что на это можно забить.
Спасибо большое за помощь!

Автор: vodking 13.5.2008, 15:09
Интересно, почему все так держатся за log4j? Я его выкинул в каком-то лохматом году, когда в 1.4 появился java.util.logging. И сразу забыл про все траблы с конфигами.

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