Я работал над созданием нового SpringApplicationRunListener
и попытался вставить некоторые записи в метод запуска. Ведение журнала было на уровне INFO
. Однако регистрация не будет отображаться на консоли. Все мои другие записи для класса работают, как и ожидалось до сих пор. Соответствующие части моего проекта следующие:
Build.gradle
plugins {
id 'java'
id 'org.springframework.boot' version '2.2.6.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
}
group 'org.cspringer'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation "org.springframework.boot:spring-boot-starter-web"
}
Custom SpringApplicationRunListener
public class CustomSpringApplicationRunListener implements SpringApplicationRunListener {
private static final Logger log = LoggerFactory.getLogger(CustomSpringApplicationRunListener.class);
public CustomSpringApplicationRunListener(SpringApplication springApplication, String... args) {
log.info("inside ctor");
}
@Override
public void starting() {
System.out.println("<sout> inside starting");
System.out.println("is info logging enabled: " + log.isInfoEnabled());
log.info("inside starting");
}
@Override
public void contextPrepared(ConfigurableApplicationContext context) {
log.info("inside contextPrepared");
}
}
Простой класс с методом main
@RestController
@SpringBootApplication
public class Example {
private static final Logger log = LoggerFactory.getLogger(Example.class);
@Autowired
ApplicationContext applicationContext;
@RequestMapping("/")
String home() {
return "Hello";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
Регистрация конфигурации в приложении Обратите внимание, что регистрация с использованием реализации Logger
не отображается, но вызовы System.out.println
действительно отображаются. Также обратите внимание, что вызов log.isInfoEnabled()
возвращает false. Я искал исходный код Spring, чтобы увидеть, отключает ли каким-то образом SpringApplication
ведение журнала, но я ничего не могу найти. Я в растерянности относительно того, как INFO
регистрация волшебным образом отключается, а затем снова включается здесь.