grails - Grails中的Log Spring安全主体

标签 grails log4j spring-security

如何使用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/

相关文章:

java - 将 Grails 应用程序与非 Grails liferay 一起部署?

ajax - chalice /AJAX : Updating an arbitrary region in the page using g:submitToRemote

java - 在加载之前将属性传递给 log4j

java - 当系统处于负载状态时,Log4J 日志不会按大小滚动(如果相关,则为 Tomcat/Windows),这是为什么?

java - Spring安全.DaoAuthenticationProvider : Cannot resolve reference to bean

java - Grails 3.2 文件上传错误 (FileNotFoundException )

java - Bootstrap 中的数据导致Grails错误

java - 当我们打开或关闭某些日志位置时,log4j 实际上在做什么?

java - 如何实现自定义身份验证?

spring-boot - 使用spring嵌入式ldap模拟事件目录进行集成测试