问题描述:
应用使用log4j自定义输出DEBUG日志,在jboss后部署后DEBUG级别的应用日志无法输出。
问题原因:
Jboss-buildpack中使用的Jboss内置有log4j模块,且默认输出日志级别为INFO。应用部署在Jboss中启动时,jboss会优先使用内置的log4j模块,所以应用中的log4j自定义日志级别为INFO以下时,无法输出。
解决方案:
如果想使用log4j的自定义日志级别,且输出DEBUG日志,可以使用以下方法:
在应用WAR包的WEB-INF目录下添加文件jboss-deployment-structure.xml,设置exclusions将JBoss系统内置的log4j模块屏蔽掉。jboss-deployment-structure.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</deployment>
</jboss-deployment-structure>