Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > настройка логирования. log4j.properties


Автор: olegrolik 17.8.2007, 12:18
Использую Tomcat 5.5.
В файле web.xml моего веб приложения написано следующее:
Код

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


Т.е. файл log4j.properties будет браться из папки Моё приложение/WEB-INF/conf. 
log4j.properties там лежит, но при запуске приложение выбегает такая надпись:
Код

log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.


Проблема решается путём копирования файла log4j.properties в папку Моё приложение/WEB-INF/classes. Но если удалить этот файл из папки /WEB-INF/conf, то log4j совсем не работает, выдаёт исключение: файл не найден.

Т.е. чтобы всё работало нормально мне нужно два property-файла. Объясните, пожалуйста, что за бред??

Автор: Tony 17.8.2007, 12:45
<context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/conf/log4j.properties</param-value>
</context-param>
Log4ju не 4его не говорит. Тебе надо или ложить в class папку или созадть сервлет с примерным кодом и загрузкой 1
Код


    private final String LOG_PROPERTIES_FILE = "log/log4j.properties";


    private void createLogger() {
        File logProp = new File(servletContext.getRealPath("WEB-INF/"), LOG_PROPERTIES_FILE);
        try {
            Properties logProperties = new Properties();
            logProperties.load(new FileInputStream(logProp));
            PropertyConfigurator.configure(logProperties);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

Автор: olegrolik 17.8.2007, 13:21
Тогда о чём говорит web.xml ?

Автор: tux 17.8.2007, 13:47
Параметр log4jConfigLocation используется совместно с лиснером org.springframework.web.util.Log4jConfigListener. Если у тебя такового нет, то и параметр устанавливать нет смысла.

Автор: olegrolik 17.8.2007, 14:04
Цитата(tux @ 17.8.2007,  13:47)
Параметр log4jConfigLocation используется совместно с лиснером org.springframework.web.util.Log4jConfigListener. Если у тебя такового нет, то и параметр устанавливать нет смысла.

Listener этот у меня есть. (приложение на Spring'е). Никак не могу понять почему у меня такая проблема? В принципе мне не обломно держать два файла, но это ведь глупо.

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