Vom Servlet-Kontext protokollieren zerstörtes Ereignis

In meiner Servlet-basierten Anwendung möchte ich Ereignisse zum Starten und Herunterfahren protokollieren.

Ich habe versucht, das @ zu implementierServletContextListener Schnittstelle dazu:

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.");
    }
}

Das initialisierte Ereignis wird wie erwartet protokolliert, das zerstörte Ereignis wird jedoch nie angezeigt. Ich gehe davon aus, dass dies damit zusammenhängt, wie log4j2 seinen Lebenszyklus mit einem ähnlichen Listener verwaltet, dass während dieses Ereignisses keine Protokollierungsinfrastruktur mehr verfügbar ist.

Gibt es eine Möglichkeit, ein Ereignis für das Herunterfahren der Anwendung zu protokollieren?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage