Ведение журнала из события сервлета уничтожено

В моем приложении на основе сервлетов я хотел бы регистрировать события для запуска и завершения работы.

Я пытался реализовать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 управляет своим жизненным циклом с использованием аналогичного прослушивателя, что инфраструктура ведения журналов больше не доступна во время этого события.

Есть ли способ зарегистрировать событие для закрытия приложения?

Ответы на вопрос(2)

Ваш ответ на вопрос