如何在Java Spring应用程序成功启动时添加日志?

时间:2016-08-12 13:55:10

标签: java spring logging

我需要在Java Spring应用程序中添加一些日志记录,以便注意应用程序已重新启动,因此我们可以从其存在创建通知和挂钩。谁能建议最好的方法呢?我能找到的所有资源都是关于Java Bean生命周期而不是应用程序生命周期。

2 个答案:

答案 0 :(得分:1)

你可能会有兴趣研究Event Handling in Spring. 你必须抓住 ContextStartedEvent

  

使用时启动ApplicationContext时会发布此事件   ConfigurableApplicationContext接口上的start()方法。   您可以轮询数据库,也可以重新启动任何已停止的应用程序   收到这个事件后。

public class CStartEventHandler 
   implements ApplicationListener<ContextStartedEvent>{

   public void onApplicationEvent(ContextStartedEvent event) {
      System.out.println("ContextStartedEvent Received");
   }
}

答案 1 :(得分:0)

您应该查看ApplicationListener,特别是

ApplicationListener<ContextRefreshedEvent>

您可以通过以下步骤实现此目的:

    1. 创建一个实现ApplicationListener的类:

public class RestartNotifier implements ApplicationListener<ContextRefreshedEvent> { @Override public void onApplicationEvent(ContextRefreshedEvent event) { log.info("*** Application initialised ***"); } }

    1. 将以下bean配置添加到ApplicationContext

<bean id="applicationInitialised" class="path.RestartNotifier"/>

应该这样做..