【发布时间】:2018-09-07 10:39:00
【问题描述】:
每当 Spring Boot 应用程序即将启动时,我都会尝试进行一些日志记录。
目前我有一个实现ApplicationEnvironmentPreparedEvent 的类,我在SpringBootApplication 的主函数中将其注册为监听器。
Application.java:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
private static final Logger appLogger = LoggerFactory.getLogger(Application.class);
public static void main(String[] args) {
System.out.println("INIT");
appLogger.info("Initializing");
SpringApplication sa = new SpringApplication();
sa.addListeners(new InitializationLogger());
sa.setSources(new HashSet<>(Collections.singletonList(Application.class)));
sa.run(args);
appLogger.info("--Application Started--");
}
}
InitializationLogger.java
public class InitializationLogger implements ApplicationListener<ApplicationEnvironmentPreparedEvent> {
private static final Logger appLogger = LoggerFactory.getLogger(InitializationLogger.class);
@Override
public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {
System.out.println(event.getClass());
appLogger.info(this.getClass().getName());
}
}
问题是,每当我通过 Intellij 的 SpringBoot 运行器或命令行作为胖 jar 运行应用程序时,它都可以正常工作,但是当我将其部署到外部 Tomcat 时,这些日志不会显示(所有其他应用程序日志工作正常)。
我该怎么做?
【问题讨论】:
-
你检查过tomcat日志吗?
-
@PrabinPaudel 是的,那里也没有日志
标签: java spring spring-boot log4j2