1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package is.dsw.base.filter; import javax.servlet.Filter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.log4j.NDC; public class Log4jNdcFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 获得客户的网络地址 String address = request.getRemoteAddr(); // 把网络地址放入 NDC 中 . 那么在在 layout pattern 中通过使用 %x,就可在每条日之中增加网络地址的信息 . NDC.push(address); // 继续处理其他的 filter 链 . chain.doFilter(req, res); // 从 NDC 的堆栈中删除网络地址 . NDC.pop(); } } |
1 2 3 4 5 6 7 8 9 10 | …… <filter> <filter-name>NdcFilter</filter-name> <filter-class> is.dsw.base.filter.Log4jNdcFilter</filter-class> </filter> <filter-mapping> <filter-name>NdcFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> …… |
1 | log4j.appender.A1.layout.ConversionPattern=%d %p %c %x - %m%n |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |