HttpSessionListener sessionCreated没有被调用

时间:2018-09-12 14:01:16

标签: java session log4j

有类似的问题herehere,但它们没有提供我要寻找的答案。我正在尝试使用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>

但是当我运行应用程序或登录,注销时,我根本看不到日志条目。我还尝试使用不同的登录凭据从不同的浏览器访问该应用程序,但仍未获取任何日志。日志记录配置工作正常,因为我能够从不同组件登录到同一应用程序中的同一文件。那么这部分有什么问题呢?为什么创建会话时没有日志?

0 个答案:

没有答案