0

我正在使用 Wildfly 10,并且正在使用它的日志子系统。

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

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

例如我可以这样做:

        HttpServletRequest request = (HttpServletRequest)externalContext.getRequest();
        UserModel user = (UserModel)request.getSession().getAttribute("user");
        String username = user.getName();

但是我怎样才能让日志子系统为每条日志消息执行此操作?

4

1 回答 1

0

正如 James R. Perkins 所建议的,这可以通过使用 MDC(映射诊断上下文)来完成。

可以在此处找到其工作原理的示例: https ://veerasundar.com/blog/2009/11/log4j-mdc-mapped-diagnostic-context-example-code/

于 2017-10-10T14:12:13.950 回答