在网络应用程序中记录当前用户
Log current user in web app
我想记录我的网络应用程序的当前用户。我用自己的 StrLookup 接口实现尝试了这个,我在其中调用了类似 Environment.getCurrentUser() 的东西,但是在记录器的初始化期间查找只执行一次。是否有线程特定的查找功能,每次都会执行,如模式中的关键字?
我所做的是使用 servlet 过滤器或 Spring 拦截器并在请求之前将项目添加到 Log4j2 ThreadContext,然后在请求之后删除它们。这将导致信息包含在每个日志记录事件中,并且可以通过 %X 转换器在模式布局中引用。
有关示例,请参阅 http://logging.apache.org/log4j/2.x/manual/eventlogging.html。
如果您要编写的应用程序必须对所涉及的客户或客户敏感,但又不想必须通过每个方法传递客户或客户 ID,这会很有用。
我想记录我的网络应用程序的当前用户。我用自己的 StrLookup 接口实现尝试了这个,我在其中调用了类似 Environment.getCurrentUser() 的东西,但是在记录器的初始化期间查找只执行一次。是否有线程特定的查找功能,每次都会执行,如模式中的关键字?
我所做的是使用 servlet 过滤器或 Spring 拦截器并在请求之前将项目添加到 Log4j2 ThreadContext,然后在请求之后删除它们。这将导致信息包含在每个日志记录事件中,并且可以通过 %X 转换器在模式布局中引用。
有关示例,请参阅 http://logging.apache.org/log4j/2.x/manual/eventlogging.html。
如果您要编写的应用程序必须对所涉及的客户或客户敏感,但又不想必须通过每个方法传递客户或客户 ID,这会很有用。