首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

log4j展示ip或用户名等自定义信息

2012-06-28 
log4j显示ip或用户名等自定义信息通过过滤器来实现web应用的log4j打印自定义信息import java.io.IOExcepti

log4j显示ip或用户名等自定义信息
通过过滤器来实现web应用的log4j打印自定义信息

import java.io.IOException;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 org.apache.log4j.MDC;public class Log4jFilter implements Filter{@Overridepublic void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {String ip = req.getRemoteAddr();String userName = (String)((HttpServletRequest)req).getSession().getAttribute("userName");//获取用户名MDC.put("ip", ip);MDC.put("userName", userName);chain.doFilter(req, res);MDC.remove("ip");MDC.remove("userName");}@Overridepublic void init(FilterConfig arg0) throws ServletException {}@Overridepublic void destroy() {}}


log4j配置文件

log4j.rootCategory=debug, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss.SSS}] %p %X{ip} %X{userName} %c{1}.%M(%L) | %m%n


[15:27:52.682] DEBUG 127.0.0.1 admin SimpleTest.testLog(42) | testLog

热点排行