У меня есть существующий пакет, в котором используется commons.logging. Я хотел бы установить logLevel для классов в комплекте во время тестирования плагина eclipse. Испытание не имеет или требует log4j как комплект. Поэтому мне нужно знать, как настроить логгер jsr-47, видимый внутри пакета.Как настроить commons.logging для пакета, поддерживаемого jsr-47?
ответ
JSR-47 делится одним менеджером журналов на всей JVM. Клиент должен инициализировать свойство протоколирования из ресурса:
InputStream resourceAsStream = getClass().getResourceAsStream("logging.properties");
LogManager.getLogManager().readConfiguration(resourceAsStream);
ресурса должен обрабатывать два общих яву лесозаготовительных подводных камней:
- Установите корневой регистратор, чтобы позволить более точному выводу (в противном случае вещь получить подавила здесь)
- Установите пакет регистратора, чтобы позволить более тонкий выход (в противном случае вещи получить подавил здесь)
это выглядит следующим образом:
handlers = java.util.logging.ConsoleHandler
.level=FINEST
test=FINEST
java.util.logging.ConsoleHandler.level = FINEST
Мишень активизирует и использует commons.logging обычным способом:
log = LogFactory.getLog(getClass().getName();
log.debug("Badaboom");
Выход затем переходит к общему LogManager, а затем в консоли.
Caveat: Конфигурация, которая считывается для теста, может быть динамически изменена в других местах кода. Если есть запах этого события, зарегистрируйте прослушиватель изменений свойств с помощью Менеджера и остановите код с точкой останова, чтобы найти код, изменяющий конфигурацию.
Примечание: На этом этапе также становится понятно, почему java.util.logging не очень хорошо подходит для OSGI: Тот же класс и, следовательно, имя регистратор может зарегистрировать с помощью различных пучков, накладывая настройки.
- 1. Как настроить logback для пакета?
- 2. Как настроить Xcode для компиляции не поддерживаемого языка, например. Fortran?
- 3. Изменение пакета R, поддерживаемого кем-то еще
- 4. Как настроить SystemJS для автоматической загрузки пакета?
- 5. Как настроить Travis для кода без пакета?
- 6. Как настроить среду разработки пакета Django?
- 7. Написание поддерживаемого метода фиксации
- 8. Как настроить место установки пакета в пряжу?
- 9. Эффект изображения, поддерживаемого BlackBerry
- 10. Как настроить web.config для минимизации пакета debug/release?
- 11. Как настроить идентификатор пакета для консольного приложения theos
- 12. Как настроить местоположение для пакета Xamarin.Android downlaod/unzipping?
- 13. Как настроить XCode для создания соответствующего пакета приложений
- 14. Как настроить sbt для параллельного пакета в банки?
- 15. Проектирование клиента для многопротокольного поддерживаемого сервера
- 16. Контрольный поток для приложения iOS, поддерживаемого webservice
- 17. Альтернативный андроид AVD для не поддерживаемого процессора
- 18. CreateWrappedSurface() не удалось для поддерживаемого dataprovider CGImageRef
- 19. Написание поддерживаемого кода, управляемого событиями
- 20. Расширение поддерживаемого MultiMap числа типов
- 21. Каков максимальный размер поддерживаемого изображения
- 22. Ограничение числа, поддерживаемого пакетными файлами
- 23. Laravel 5.2 Нет поддерживаемого encrypter
- 24. ACL для Joomla 2.5 для поддерживаемого модуля администратора
- 25. установка пакета python, не поддерживаемого pip или conda в Anaconda на Windows
- 26. Как настроить \ перечисление ширины пакета в редакторе латекса (LEd)
- 27. Как настроить несколько параметров с помощью пакета Caret?
- 28. Размер пакета для веб-пакета
- 29. Как настроить уровень пакета @TypeDefs с Spring Hibernate
- 30. Как настроить развертывание пакета базы данных на поддоменах с nginx