OSDN Git Service

初期インポート
[u6kcommons/money-notebook.git] / money-notebook / src / jp / gr / java_conf / u6k / money_notebook / web / filter / RequestLogFilter.java
1 \r
2 package jp.gr.java_conf.u6k.money_notebook.web.filter;\r
3 \r
4 import java.io.IOException;\r
5 import java.util.Enumeration;\r
6 import java.util.logging.Logger;\r
7 \r
8 import javax.servlet.Filter;\r
9 import javax.servlet.FilterChain;\r
10 import javax.servlet.FilterConfig;\r
11 import javax.servlet.ServletException;\r
12 import javax.servlet.ServletRequest;\r
13 import javax.servlet.ServletResponse;\r
14 import javax.servlet.http.HttpServletRequest;\r
15 \r
16 public class RequestLogFilter implements Filter {\r
17 \r
18     private static final Logger LOG = Logger.getLogger(RequestLogFilter.class.getName());\r
19 \r
20     @Override\r
21     public void destroy() {\r
22     }\r
23 \r
24     @Override\r
25     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {\r
26         if (request instanceof HttpServletRequest) {\r
27             HttpServletRequest req = (HttpServletRequest) request;\r
28 \r
29             StringBuilder log = new StringBuilder();\r
30             log.append("[Request]\r\n");\r
31             log.append("AuthType: ").append(req.getAuthType()).append("\r\n");\r
32             log.append("CharacterEncoding: ").append(req.getCharacterEncoding()).append("\r\n");\r
33             log.append("ContentLength: ").append(req.getContentLength()).append("\r\n");\r
34             log.append("ContentType: ").append(req.getContentType()).append("\r\n");\r
35             log.append("ContextPath: ").append(req.getContextPath()).append("\r\n");\r
36             log.append("LocalAddr: ").append(req.getLocalAddr()).append("\r\n");\r
37             log.append("Locale: ").append(req.getLocale()).append("\r\n");\r
38             log.append("LocalName: ").append(req.getLocalName()).append("\r\n");\r
39             log.append("LocalPort: ").append(req.getLocalPort()).append("\r\n");\r
40             log.append("Method: ").append(req.getMethod()).append("\r\n");\r
41             log.append("PathInfo: ").append(req.getPathInfo()).append("\r\n");\r
42             log.append("PathTranslated: ").append(req.getPathTranslated()).append("\r\n");\r
43             log.append("Protocol: ").append(req.getProtocol()).append("\r\n");\r
44             log.append("QueryString: ").append(req.getQueryString()).append("\r\n");\r
45             log.append("RemoteAddr: ").append(req.getRemoteAddr()).append("\r\n");\r
46             log.append("RemoteHost: ").append(req.getRemoteHost()).append("\r\n");\r
47             log.append("RemotePort: ").append(req.getRemotePort()).append("\r\n");\r
48             log.append("RemoteUser: ").append(req.getRemoteUser()).append("\r\n");\r
49             log.append("RequestURI: ").append(req.getRequestURI()).append("\r\n");\r
50             log.append("RequestURL: ").append(req.getRequestURL()).append("\r\n");\r
51             log.append("Scheme: ").append(req.getScheme()).append("\r\n");\r
52             log.append("ServerName: ").append(req.getServerName()).append("\r\n");\r
53             log.append("ServerPort: ").append(req.getServerPort()).append("\r\n");\r
54             log.append("ServletPath: ").append(req.getServletPath()).append("\r\n");\r
55             log.append("\r\n");\r
56 \r
57             for (Enumeration<?> headerNameEnu = req.getHeaderNames(); headerNameEnu.hasMoreElements();) {\r
58                 String headerName = (String) headerNameEnu.nextElement();\r
59 \r
60                 for (Enumeration<?> headerValueEnu = req.getHeaders(headerName); headerValueEnu.hasMoreElements();) {\r
61                     Object headerValue = headerValueEnu.nextElement();\r
62 \r
63                     log.append("Header: ").append(headerName).append(": ").append(headerValue).append("\r\n");\r
64                 }\r
65             }\r
66 \r
67             RequestLogFilter.LOG.config(log.toString());\r
68         }\r
69 \r
70         chain.doFilter(request, response);\r
71     }\r
72 \r
73     @Override\r
74     public void init(FilterConfig config) throws ServletException {\r
75     }\r
76 \r
77 }\r