所有级别的日志中每个用户/会话的唯一ID? Log4J的?

时间:2011-05-05 16:47:40

标签: jsf logging log4j uniqueidentifier

我们正在进行一些性能测试,以确定我们的应用程序的哪些步骤需要花费多少时间。当然,使用regexp轻松解析/过滤日志是一种魅力。 问题所在:我们的jsf应用程序被分成几个项目,由其他(非jsf)应用程序使用。 我的第一种方法是:

if(logger.isDebugEnabled())
        logger.debug("Service call took: " + (System.currentTimeMillis() - time)+ " JSESSIONID="+CookieUtil.getJsessionId(FacesContext.getCurrentInstance())) ;

(CookieUtil将从HttpServletRequest读取sessionId)

但是......显然其他项目不喜欢JSF库的依赖,也不喜欢我整洁的CookieUtil。 log4j能提供什么吗? 还有其他工具/概念吗?

1 个答案:

答案 0 :(得分:4)

你可以用log4j MDC来完成你想要的东西: Log4j MDC

并使用类似于此示例的Servlet过滤器: MDCServletFilter