@@ -0,0 +1,2631 @@
+/*%0A * Copyright (C) 2008 feilong%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *         http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage com.feilong.servlet.http.listener;%0A%0Aimport javax.servlet.http.HttpSession;%0Aimport javax.servlet.http.HttpSessionEvent;%0Aimport javax.servlet.http.HttpSessionListener;%0A%0Aimport org.slf4j.Logger;%0Aimport org.slf4j.LoggerFactory;%0A%0Aimport com.feilong.servlet.http.SessionUtil;%0Aimport com.feilong.tools.jsonlib.JsonUtil;%0A%0A/**%0A * The listener interface for receiving httpSessionLogging events.%0A * The class that is interested in processing a httpSessionLogging%0A * event implements this interface, and the object created%0A * with that class is registered with a component using the%0A * component's %3Ccode%3EaddHttpSessionLoggingListener%3Ccode%3E method. When%0A * the httpSessionLogging event occurs, that object's appropriate%0A * method is invoked.%0A *%0A * @author %3Ca href=%22http://feitianbenyue.iteye.com/%22%3Efeilong%3C/a%3E%0A * @see %22org.springframework.web.util.HttpSessionMutexListener%22%0A * @since 1.10.4%0A */%0Apublic class HttpSessionLoggingListener implements HttpSessionListener%7B%0A%0A    /** The Constant LOGGER. */%0A    private static final Logger LOGGER = LoggerFactory.getLogger(HttpSessionLoggingListener.class);%0A%0A    /*%0A     * (non-Javadoc)%0A     * %0A     * @see javax.servlet.http.HttpSessionListener#sessionCreated(javax.servlet.http.HttpSessionEvent)%0A     */%0A    @Override%0A    public void sessionCreated(HttpSessionEvent httpSessionEvent)%7B%0A        if (LOGGER.isDebugEnabled())%7B%0A            HttpSession session = httpSessionEvent.getSession();%0A            LOGGER.debug(%22session %5Bcreate%5D,info:%7B%7D%22, JsonUtil.format(SessionUtil.getSessionInfoMapForLog(session)));%0A        %7D%0A    %7D%0A%0A    /*%0A     * (non-Javadoc)%0A     * %0A     * @see javax.servlet.http.HttpSessionListener#sessionDestroyed(javax.servlet.http.HttpSessionEvent)%0A     */%0A    @Override%0A    public void sessionDestroyed(HttpSessionEvent httpSessionEvent)%7B%0A        if (LOGGER.isDebugEnabled())%7B%0A            HttpSession session = httpSessionEvent.getSession();%0A            LOGGER.debug(%22session %5Bdestroy%5D,info:%7B%7D%22, JsonUtil.format(SessionUtil.getSessionInfoMapForLog(session)));%0A        %7D%0A    %7D%0A%7D%0A

add HttpSessionLoggingListener fix #8