我如何将用户名(主体)附加到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