Почему ConsoleAppender выдает сообщение «нет потока вывода или файла для приложения с именем [null]»?

У меня проблема с log4j ConsoleAppender :

Если я инициализирую его следующим образом:

ConsoleAppender ca = new ConsoleAppender();
ca.setLayout(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));

он дает ошибка и прерывает регистрацию.

Вывод ошибки:

log4j: ERROR Нет потока вывода или файла, установленного для приложения с именем [null].

Если я инициализирую его таким образом, он работает нормально:

ConsoleAppender ca = new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));

Имеет кто-нибудь сталкивался с этой проблемой? Я не могу найти его в репозитории Bugzilla, но если бы это действительно было проблемой, это было бы совершенно очевидно!

Возможно, я ищу не в том месте?

Соответствующий код:

import org.apache.log4j.*;

public class ConsoleAppenderIssue {
private static Logger logger = Logger.getLogger(ConsoleAppenderIssue.class);

public static void main(String [] args) {
    ConsoleAppender ca = new ConsoleAppender();
    ca.setLayout(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));

    logger.addAppender(ca);

    logger.info("log something");

}

}

12
задан Cœur 9 December 2018 в 16:20
поделиться