在每个用户的日志文件中使用特定标签进行记录
Logging with specific label in log file for every user
我在 Java (JSP + Servlets) 中有 Web 应用程序并使用 log4j 1.2.17 进行日志记录。
当用户登录网站时,他会获取 ID。我想在带有 ID 前缀的日志文件中查看他的所有操作:
01.05.2015 11:12:30 INFO [Roy] - login correct
但我不想在每个调用方法中都传递 ID 以记录该方法中的事件。
我想把ID保存在某个地方,需要的时候拿走。
您可能想要的是 Mapped Diagnostic Context。这有效地为您提供了一堆 ThreadLocal
来将数据元素放入您可以稍后记录的内容中。
在java...
MDC.put('LOGIN_ID', 'Roy');
在您的日志模式中:
"%d %p [%X{LOGIN_ID}] %m
我在 Java (JSP + Servlets) 中有 Web 应用程序并使用 log4j 1.2.17 进行日志记录。 当用户登录网站时,他会获取 ID。我想在带有 ID 前缀的日志文件中查看他的所有操作:
01.05.2015 11:12:30 INFO [Roy] - login correct
但我不想在每个调用方法中都传递 ID 以记录该方法中的事件。 我想把ID保存在某个地方,需要的时候拿走。
您可能想要的是 Mapped Diagnostic Context。这有效地为您提供了一堆 ThreadLocal
来将数据元素放入您可以稍后记录的内容中。
在java...
MDC.put('LOGIN_ID', 'Roy');
在您的日志模式中:
"%d %p [%X{LOGIN_ID}] %m