Поиск log4j.properties в IDEA

Update- эта проблема была моей собственной.

На одном этапе у этого конкретного тестового класса был тест, чтобы убедиться, что что-то было зарегистрировано. В настройке я ранее удалил все приложения и добавил свое собственное приложение для создания утверждений во время тестирования. Тот тест давно ушел, но этот самородок остался в настройке: Logger.getRootLogger().removeAllAppenders();.

Извините за ложную тревогу. :)


В IDEA у меня есть следующий тест:

@Test
public void shouldLog() {
    URL resource = Thread.currentThread().getContextClassLoader()
        .getResource("log4j.properties");
    System.out.println("resource = " + resource);
    final Logger logger = Logger.getLogger(getClass());
    logger.info("Hello world");
}

Он выводит так:

"C:\Program Files\Java\jdk1.5.0_18\bin\java" -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 11.1\lib\idea_rt.jar" -ea -Dfile.encoding=UTF-8 com.intellij.rt.execution.CommandLineWrapper C:\DOCUME~1\JMAWSO~1.NT3\LOCALS~1\Temp\classpath2294205410661538428.tmp @vm_params C:\DOCUME~1\JMAWSO~1.NT3\LOCALS~1\Temp\vm_params5645362020129462784.tmp com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 au.com.gmm.repo.RepoThreadCleanupServiceTest,shouldLog
resource = file:/C:/user/jem/projects/GMM/out/test/cashflow/log4j.properties
log4j:WARN No appenders could be found for logger (au.com.gmm.repo.RepoThreadCleanupServiceTest).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Process finished with exit code 0

Это известная проблема, с которой сталкиваются многие новички снова и снова. Я чувствую себя немного глупо, будучи поставленным в тупик этим сегодня.

http://logging.apache.org/log4j/1.2/faq.html#noconfigсообщает, что log4j использует Thread.getContextClassLoader().getResource() для поиска файлов конфигурации по умолчанию. Однако мой тест проверяет Thread.currentThread().getContextClassLoader().getResource("log4j.properties")и без проблем находит файл свойств.

Содержимое файла:

log4j.rootLogger=DEBUG, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss.SSS} %c - %m%n

7
задан Synesso 30 May 2012 в 02:09
поделиться