1 /* $Id: AccessLogFilter.java 94 2008-12-18 11:07:17Z dobashi $ */
\r
2 package com.lavans.luz2.http;
\r
4 import java.io.IOException;
\r
6 import javax.servlet.Filter;
\r
7 import javax.servlet.FilterChain;
\r
8 import javax.servlet.FilterConfig;
\r
9 import javax.servlet.ServletException;
\r
10 import javax.servlet.ServletRequest;
\r
11 import javax.servlet.ServletResponse;
\r
12 import javax.servlet.http.HttpServletRequest;
\r
13 import javax.servlet.http.HttpSession;
\r
15 import org.apache.commons.logging.Log;
\r
16 import org.apache.commons.logging.LogFactory;
\r
22 public class AccessLogFilter implements Filter {
\r
23 private static Log logger = LogFactory.getLog(AccessLogFilter.class.getName());
\r
26 * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
\r
28 public void init(FilterConfig filterConfig) throws ServletException {
\r
32 * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
\r
34 public void doFilter(ServletRequest req, ServletResponse res,
\r
35 FilterChain chain) throws IOException, ServletException {
\r
37 // HttpServletRequest
\r
38 HttpServletRequest request = (HttpServletRequest) req;
\r
39 String userId = getUserId(request);
\r
41 // アクションのレスポンスタイムを表示(jsp処理は含まず)
\r
42 long startTime = System.currentTimeMillis();
\r
44 chain.doFilter(req, res);
\r
47 long delta = System.currentTimeMillis() - startTime;
\r
49 logger.info(userId + "\t"+ request.getServletPath() +"\t"+ delta + " ms\t");
\r
53 * @see javax.servlet.Filter#destroy()
\r
55 public void destroy() {
\r
64 protected String getUserId(HttpServletRequest request){
\r
65 HttpSession session = request.getSession();
\r
66 String userId = request.getRemoteHost()+"\t"+session.getId();
\r