2017-01-10 3 views
0

Я использую log4j с очень простой настройкой в ​​проекте Eclipse plugin project, который я сейчас создаю. я называю BasicConfigurator.configure(); в главном классе, а затем просто использовать log4j в каждом классе, как это:Приложение Equinox: log4j сломанный выход консоли eclipse

private static final Logger logger= LogManager.getLogger(ClassName.class.getName()); 

Это работало отлично на некоторое время, но теперь у меня есть проблемы с log4j. Я не уверен, что произошло, но, похоже, уровень ведения журнала теперь равен Level.WARN. Также консольный вывод несколько сломан. Журнальные сообщения регистрируются два раза каждый. Один раз нормально, и один раз на самом деле странно:

!ENTRY org.apache.log4j 2 0 2017-01-10 13:19:58.192 
!MESSAGE package.ClassName - This is a logging message 

0 [main] WARN package.ClassName - This is a logging message 

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

EDIT: Я проверил старшую точку программы, и проблема все еще существует. Это должно означать, что это не проблема самого кода. Могут ли настройки Eclipse или что-то в этом роде влиять на поведение консоли?

EDIT 2:idea снятие отметки «Выход конечной консоли» не помогло.

EDIT 3: Это моя зависимость:

Require-Bundle: org.eclipse.ui, 
    org.eclipse.emf.ecore;bundle-version="2.12.0", 
    org.eclipse.emf.ecore.xmi;bundle-version="2.12.0", 
    org.eclipse.core.resources;bundle-version="3.11.0", 
    org.eclipse.core.runtime;bundle-version="3.12.0", 
    org.eclipse.jdt.core;bundle-version="3.12.1", 
    org.eclipse.jdt.launching;bundle-version="3.8.100", 
    org.junit, 
    org.apache.log4j;bundle-version="1.2.15" 

EDIT 4: Чистая версия Eclipse, устраняет проблему вывода. Но использование чистой версии означало бы снова установить все плагины и инструменты. Также мне нужно было бы настроить мои настройки с нуля. Также, возможно, это снова вызывает проблему, поэтому я должен скорее найти причину проблемы.

+0

Вы должны сказать нам, что ваша конфигурация похожа. – glee8e

+0

Какая конфигурация? Я не настраиваю log4j, я использую только команду BasicConfigurator.configure(). – ConveniencePatterns

+0

Возможный дубликат [Как увеличить емкость консоли вывода Eclipse?] (Http://stackoverflow.com/questions/2828255/how-do-increase-the-capacity-of-the-eclipse-output -console) – glee8e

ответ

1

Попробуйте удалить директиву trace_file из инструкции my_package logger.

Попробуйте один

static { 
    PatternLayout layout = new PatternLayout(); 
    String conversionPattern = "%d %-5p [%t] %c{2} (%2F:%M(%L)):%m%n"; 
    layout.setConversionPattern(conversionPattern); 

    ConsoleAppender consoleAppender = new ConsoleAppender(); 
    consoleAppender.setLayout(layout); 
    consoleAppender.activateOptions(); 

    Logger rootLogger = Logger.getRootLogger(); 
    rootLogger.setLevel(Level.INFO); 
    rootLogger.addAppender(consoleAppender); 
} 
+0

После использования этого фрагмента кода он снова отображает информационные сообщения, но не изменяет лишний дополнительный вывод консоли. – ConveniencePatterns

Смежные вопросы