在我的基于Servlet的应用程序中,我想记录启动和关闭事件。
我尝试实现ServletContextListener
接口来实现这一点:
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.");
}
}
初始化事件按预期记录,但销毁事件从未出现。我认为这与log4j2使用类似的监听器来管理其生命周期有关,即在此事件期间日志基础设施不再可用。
是否有一种方式可以记录应用程序关闭的事件?