2016-06-01 13 views
1

サーブレットベースのアプリケーション内で、起動とシャットダウンのイベントを記録したいと思います。予想通りサーブレットコンテキストからのロギング

public class DiagnosticListener 
    implements ServletContextListener { 

    private static final Logger LOG = LogManager.getLogger(DiagnosticListener.class); 

    @Override 
    public void contextInitialized(final ServletContextEvent sce) { 
     LOG.info("Context initialized."); 
    } 

    @Override 
    public void contextDestroyed(final ServletContextEvent sce) { 
     LOG.info("Context destroyed."); 
    } 
} 

初期化されたイベントが記録されていますが、破壊されたイベントは表示されません:

私はこれを行うにはServletContextListenerインターフェイスを実装しようとしました。これは、log4j2が類似のリスナーを使用してライフサイクルを管理する方法、つまりこのイベント中にログ収集インフラストラクチャが使用できなくなったことを前提としています。

シャットダウンされるアプリケーションのイベントをログに記録する方法はありますか?

答えて

0

web4でLog4jのServletContextListenerを設定する場合は、Log4jをServletContextListenerの前に初期化し、その後にシャットダウンする必要があります。

+0

私はServlet 3.0コンテナで実行していますが、Log4jのサーブレットコンポーネントを手動で設定していません。 –

関連する問題