Я начинаю разрабатывать плагин Eclipse (технически плагин OSGi), и одна из первых проблем, с которыми я столкнулся, заключается в том, что я не могу управлять выводом общего достояния, как обычно.
Я включил пакет commons-logging в зависимости плагина, и, действительно, когда я что-то регистрирую (с INFO или более высоким уровнем серьезности), он регистрируется на консоли. Тем не менее, я не могу войти на каком-либо более низком уровне (например, DEBUG или TRACE).
Я указал файл log4j.properties, и он находится в пути к классам (для среды выполнения, так же как и пакет commons-logging), но ни один из параметров в этом файле свойств не влияет на поведение регистратора. .
Вот файл log4j.properties:
# Log4j Logging levels, in order of decreasing importance are:
# FATAL, ERROR, WARN, INFO, DEBUG, TRACE
#
# Root logger option
log4j.rootLogger=ERROR,stdout
#,LOGFILE
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %r (%l) %t%n - %m%n
Что мне нужно сделать, чтобы я мог реально контролировать выход регистратора?
Вот несколько примеров выходных сообщений в надежде, что форматирование может совпадать со значением по умолчанию для java.util.logging или предоставить кому-то другие подсказки:
Oct 21, 2008 11:01:23 PM com.stottlerhenke.sentinel.client.Activator start
SEVERE: fatal_message
Oct 21, 2008 11:01:23 PM com.stottlerhenke.sentinel.client.Activator start
WARNING: warn_message
Oct 21, 2008 11:01:23 PM com.stottlerhenke.sentinel.client.Activator start
INFO: info_message
Обновление:
Я уже пробовал различные комбинации:
и я могу только получать сообщения уровня DEBUG или более низкого уровня, если я запускаю OSGi вручную из приглашения (что непрактично для того, что я разрабатываю). Кроме того, я не могу влиять на любой другой тип конфигурации регистрации через различные файлы свойств. Все, что я пытаюсь сделать в этом отношении, похоже, отменяется настройкой затмения.
Я также пытался разместить различные конфигурационные файлы для вышеуказанных библиотек во многих местах, в том числе в виде фрагментов подключаемых модулей, прикрепленных к их соответствующим библиотекам, как предложено здесь , и все же, тот же результат происходит. 1047 *
Я реализовал пользовательский LogListener и проследил весь путь сообщения журнала (а также знаю, как это сделать) с помощью System.out.println, и отладочные сообщения присутствуют прямо пока они не будут выведены каким-либо используемым API-интерфейсом ведения журнала, они исчезнут.