我在Java(JSP + Servlets)中使用Web应用程序并使用log4j 1.2.17进行日志记录。 当用户登录网站时,他会获取ID。我想在日志文件中看到他所有的动作,ID前缀如下:
01.05.2015 11:12:30 INFO [Roy] - login correct
但我不想在每种调用方法中传递ID来记录该方法中的事件。 我想在某处保存ID并在需要时将其保存。
答案 0 :(得分:0)
你可能想要的是Mapped Diagnostic Context。这有效地为您提供了一堆ThreadLocal
来将数据元素放入您可以稍后记录的内容中。
在java ...
MDC.put('LOGIN_ID', 'Roy');
在您的日志模式中:
"%d %p [%X{LOGIN_ID}] %m