使用日志文件中的特定标签记录每个用户

时间:2015-08-23 12:46:13

标签: java servlets web log4j

我在Java(JSP + Servlets)中使用Web应用程序并使用log4j 1.2.17进行日志记录。 当用户登录网站时,他会获取ID。我想在日志文件中看到他所有的动作,ID前缀如下:

01.05.2015 11:12:30 INFO [Roy] - login correct

但我不想在每种调用方法中传递ID来记录该方法中的事件。 我想在某处保存ID并在需要时将其保存。

1 个答案:

答案 0 :(得分:0)

你可能想要的是Mapped Diagnostic Context。这有效地为您提供了一堆ThreadLocal来将数据元素放入您可以稍后记录的内容中。

在java ...

MDC.put('LOGIN_ID', 'Roy');

在您的日志模式中:

"%d %p [%X{LOGIN_ID}] %m