[英]Enable logging of spring security in Wildfly with log4j
我想用 Log4j 记录与 Spring 安全性 (4.2.16) 相关的任何内容。
它是部署在 Wildfly 10.1.0 中的 EAR 文件,其中 log4j.xml 部署到 EAR 中包含的 WAR 文件的 WEB-INF/类中
log4.xml 有以下类别:
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="debug" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{HH:mm:ss} %p [%t]:%c{3}.%M()%L - %m%n" />
</layout>
</appender>
<category name="org.springframework.security" additivity="false">
<priority value="TRACE" />
<appender-ref ref="STDOUT"/>
</category>
为任何项目类打印日志,但 Log4j 配置不适用于 spring 安全性。
调试后 logger.isDebugEnabled() 在 AffirmativeBased class 中返回 false
如何获取与 spring 安全相关的任何日志?
似乎(根据我的测试)第三方依赖项(至少是 Spring)的日志记录没有使用项目的 log4.xml 配置,而是在 Wildfly 的日志记录子系统中。
我已将以下几行添加到standalone-full.xml(在日志子系统定义内),它现在正在记录:
<logger category="org.springframework.security">
<level name="TRACE"/>
<handlers>
<handler name="CONSOLE"/>
</handlers>
</logger>
我没有尝试过,但可能有效(并且作为更好的解决方案)在 EAR 的 jboss-deployment-structure.xml 中表明该应用程序不包括 Wildfly 自己的日志记录子系统,并将所有日志记录(包括第三方依赖项)依赖于 log4j。 请参阅覆盖 WildFly中的日志记录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.