Java:如何记录会话中的任何内容?

时间:2010-01-15 15:36:36

标签: java jsf log4j

我正在使用100个左右的屏幕评估一个JSF Java项目,并且希望能够在每次将某些内容放入HTTP会话时记录,以及谁在会话对象上调用方法以及参数是什么,当我点击网站时,让我更容易知道会话的内容。

所以我想要一个像:

这样的日志

12:00:00 pm由z.y.x.MyClass调用的HTTPSession.setAttribute(),params:z.y.x.MySecondClass,z.y.x.MyThirdClass)

有没有人建议如何做到这一点?我正在寻找某种log4j(他们使用log4j)配置,这将做这种类型的事情,所以我不接触任何代码

2 个答案:

答案 0 :(得分:4)

您可以在web.xml中安装HttpSessionAttributeListener

答案 1 :(得分:0)

除了Thilo所指出的HttpSessionAttributeListener之外,您还可以使用log4j MDC来跟踪此会话中的所有后续日志语句。当然,这只有在会话线程调用侦听器时才会起作用,因为每个线程都保留了MDC上下文。