Я знаю, как установить уровень журнала через environment variables и application properties.Как программно установить уровни регистрации Spring Boot?
Есть ли способ установить их программно?
Я хотел бы установить уровни журналов для определенных классов тестов (которые используют SpringJUnit4ClassRunner
и @SpringApplicationConfiguration
), но не все из них и без отдельного файла свойств для каждой комбинации.
Я пробовал defining a non-lazy bean to add a new PropertySource
to the environment; метод был вызван, но он не имел никакого эффекта.
@Bean
@Lazy(false)
public PropertySource testProperties(ConfigurableEnvironment environment) {
PropertySource properties = new MapPropertySource("testProperties", Collections.singletonMap(
"logging.level.org.springframework.security", "DEBUG"
));
environment.getPropertySources().addFirst(properties);
return properties;
}
Единственный способ я знаю, настроенных уровней протоколирования когда регистратор был запущен осуществляется через JMX ... –
@BoristheSpider Это доступно только для 'java.util.logging', который не используется пружиной. – OrangeDog
Не верно по обоим пунктам - Logback и Log4j2 поддерживают JMX и Spring Boot поддерживает JUL, если вы этого хотите (но почему, черт возьми, вы бы ...). Вам просто нужно настроить JMX-коннектор в файле конфигурации. Вы не говорите, в какую среду вы загрузили Boot. –