如何使用Grails在Log4J日志中记录用户主体?
我想在发生异常时查看当前登录名,即在每个操作上记录当前主体将不起作用。我需要存储用户名,以便在发生异常时,用户名可以位于日志模式中。
最佳答案
我认为您应该使用log4j的嵌套诊断上下文(NDC)。请参阅http://logging.apache.org/log4j/1.2/manual.html中的相应章节。
这个想法是创建一个grails过滤器帽子来管理每个请求的NDC数据(推/弹出),并在记录器的模式中使用%x,请参阅http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html。
这样,您已将日志记录的负担与 Controller /服务的登录分开。
关于grails - Grails中的Log Spring安全主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363188/