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();
}
}
|