Registro desde el evento de servlet contexto destruido
Dentro de mi aplicación basada en Servlet, me gustaría registrar eventos para el inicio y el apagado.
He intentado implementar elServletContextListener
interfaz para hacer esto:
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.");
}
}
El evento inicializado se registra como se esperaba, pero el evento destruido nunca aparece. Supongo que esto tiene que ver con la forma en que log4j2 administra su ciclo de vida utilizando un oyente similar, que la infraestructura de registro ya no está disponible durante este evento.
¿Hay alguna forma de registrar un evento para que la aplicación se cierre?