JavaEE 添加简单的日志过滤器
2015-09-24 18:26
555 查看
web.xml
过滤器
<!-- 日志过滤器--> <filter> <filter-name>logFilter</filter-name> <filter-class>chapter9.RequestLogFilter</filter-class> </filter> <filter-mapping> <filter-name>logFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
过滤器
package chapter9; import org.apache.commons.lang3.time.StopWatch; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.Instant; /** * 日志过滤器 */ public class RequestLogFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { Instant time = Instant.now(); StopWatch timer = new StopWatch(); try { timer.start(); chain.doFilter(request, response); } finally { timer.stop(); HttpServletRequest in = (HttpServletRequest)request; HttpServletResponse out = (HttpServletResponse)response; String length = out.getHeader("Content-Length"); if(length == null || length.length() == 0) length = "-"; System.out.println(in.getRemoteAddr() + " - - [" + time + "]" + " \"" + in.getMethod() + " " + in.getRequestURI() + " " + in.getProtocol() + "\" " + out.getStatus() + " " + length + " " + timer); } } @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void destroy() { } }
相关文章推荐
- java中类的初始化和对象的实例化区别
- java web总结(数据库连接池)
- leetCode --Reverse Integer以及java基本类型
- java系统学习(十二) --------异常与处理及内存管理
- java系统学习(十二) --------异常与处理及内存管理
- 深入了解Java虚拟机
- javassist用法
- java多线程之初级探索线程池,线程队列
- Java(2)--单例模式
- Java之旅Spring框架学习(1)——掀起你的盖头来
- JAVA中常用的正则的一些案例分析
- Java的四种引用,强弱软虚,用到的场景
- [Spring]Spring AOP学习笔记(4)--Spring 事务
- JAVA中注解的简单使用
- Java中的反射机制 一个利用反射进行对象拷贝的例子
- 第一章 Java Web工作原理
- java get,post 请求
- java中的split函数用法
- jd -eclipse 放到eclipse 中进行自动反编译
- java线性查找、二分查找(2015年9月23日)