Есть похожие вопросы здесь и здесь , но они не дают ответа, который я ищу. Я пытаюсь использовать sessionListener
, но он не работает, так как я не вижу никаких журналов от него. Вот моя HttpSessionListener
реализация:
package com.example;
import org.apache.log4j.Logger;
@WebListener
public class ApplicationHttpSessionListener implements HttpSessionListener {
protected static final Logger logger = Logger.getLogger((String)ApplicationHttpSessionListener.class.getName());
public ApplicationHttpSessionListener() {
}
@Override
public void sessionCreated(HttpSessionEvent event) {
HttpSession session = event.getSession();
sessions.put(session.getId(), session);
logger.info("SESSION CREATED: " + session.getId());
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
logger.debug("Session destroyed with session id: " + event.getSession().getId());
}
}
и я зарегистрировал этот класс как слушатель в web.xml
:
<listener>
<listener-class>com.example.ApplicationHttpSessionListener</listener-class>
</listener>
но я не получаю записи журнала вообще, когда я запускаю приложение или вход, выход. Я также пытался получить доступ к приложению из разных браузеров с разными учетными данными, но по-прежнему не получал никаких журналов. Конфигурация регистрации работает нормально, так как я могу войти в один и тот же файл в одном приложении из разных компонентов. Так что не так с этой частью? Почему нет журналов при создании сеансов?