log4j Не удалось прочитать файл конфигурации - PullRequest
4 голосов
/ 30 июня 2011

Я добавляю логирование в веб-проект Java, над которым я работаю. Я столкнулся с ошибкой, которую не могу выяснить.

Я получаю сообщение от tomcat:
log4j:ERROR Could not read configuration file [log4j.properties]. java.io.FileNotFoundException: log4j.properties (No such file or directory)

У меня есть простой метод в моем классе:

@RemotingInclude
public UserAccount save(UserAccount dataObject)
{
    PropertyConfigurator.configure("log4j.properties");
    logger.debug(dataObject.toString());

    return dao.save(dataObject);
}

Когда я заглядываю в папку webapps // WEB-INF / class, я вижу свой файл log4j.properties. При развертывании на сервере tomcat и перезапуске tomcat я вижу, что мой файл admin.log создан, но в него ничего не записано. Даже после нажатия вышеописанного метода. Любая помощь в этом с благодарностью.

Это текущее содержимое моего файла log4j.properties:

log4j.appender.AdminFileAppender=org.apache.log4j.FileAppender
log4j.appender.AdminFileAppender.File=admin.log
log4j.appender.AdminFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.AdminFileAppender.layout.ConversionPattern= %-4r [%t] %-5p %c %x - %m%n.
log4j.appender.ReportFileAppender=org.apache.log4j.FileAppender
log4j.appender.ReportFileAppender.File=report.log
log4j.appender.ReportFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ReportFileAppender.layout.ConversionPattern= %-4r [%t] %-5p %c %x - %m%n
log4j.logger.com.rottmanj.services=WARN,AdminFileAppender

1 Ответ

2 голосов
/ 30 июня 2011

Такой подход начальной загрузки Log4j неправильный. Обычно это реализуется так:

import org.apache.log4j.Logger;

public class MyService {

    public UserAccount save(UserAccount dataObject) {
        logger.debug(dataObject.toString());

        return dao.save(dataObject);

    }

    private static Logger logger = Logger.getLogger(MyService.class);

}

Таким образом, Log4j автоматически ищет log4j.properties в корне пути класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...