我如何将用户名(主体)附加到Wildfly中的每个日志行?

我正在使用Wildfly 10,我正在使用它的日志子系统。我如何将用户名(主体)附加到Wildfly中的每个日志行?

现在,我需要将会话中当前登录的用户(主体)的LoginName附加到由JBoss日志记录子系统处理的每条日志消息。

有没有一种通用的方法来做到这一点,而不是将UserName附加到我的应用程序中的每个日志消息?

例如,我可以这样做:

 HttpServletRequest request = (HttpServletRequest)externalContext.getRequest(); 

UserModel user = (UserModel)request.getSession().getAttribute("user");

String username = user.getName();

但我怎样才能得到日志子系统为每个日志信息做到这一点?

回答:

正如James R. Perkins所说,这可以通过使用MDC(Mapped Diagnostic Context)来完成。

是如何工作的一个例子可以在这里找到: https://veerasundar.com/blog/2009/11/log4j-mdc-mapped-diagnostic-context-example-code/

以上是 我如何将用户名(主体)附加到Wildfly中的每个日志行? 的全部内容, 来源链接: utcz.com/qa/265506.html

回到顶部