6,787
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.apache.log4j"/>
</exclusions>
</deployment>
</jboss-deployment-structure>
<jboss-deployment-structure>
<deployment>
<!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
<resources>
<resource-root path="lib" />
</resources>
</deployment>
</jboss-deployment-structure>
代码解释:<exclusions>标签是排除jboss自带的日志模块.<resources>标签是指定你自己的第三方包的位置.lib就是你war包WEB-INF下的lib目录,用来存放jar包的地方.
然后将该文件放入war包的META-INF目录或者WEB-INF目录下.如果你打包的格式为EAR包,则只能放在META-INF目录下.
最后在启动jboss eap的时候加入启动参数:
./standalone.sh -Dorg.jboss.as.logging.per-deployment=false即可解决.
以上是官方的方案,但是我的情况有点不同,加配置文件对我的项目无效.相反,我只要执行最后一步,在启动时,给启动的脚本加-Dorg.jboss.as.logging.per-deployment=false参数就可以让log4j生效了.不用做其他配置.
之后我查看了standalone.sh脚本,其中有一段脚本是读取日志配置的.也就是说启动脚本默认会加载jboss自带的日志模块.
所以需要在启动时利用参数屏蔽掉.其他的和tomcat下的配置一样的.无需做其他修改.