最近在 JBoss WildFly 8 下部署 Web应用,自定义的 log4j 日志不工作。console下无日志输出,用System.out.println都不输出内容到console。
原因是JBoss WildFly 8 自带了日志功能,其中包含了log4j。
解决办法:
第一步:在standalone\configuration\standalone.xml 中找到如下配置信息
<profile> <subsystem xmlns="urn:jboss:domain:logging:2.0"> <console-handler name="CONSOLE"> <level name="INFO"/> <formatter> <named-formatter name="COLOR-PATTERN"/> </formatter> </console-handler>
在<subsystem xmlns="urn:jboss:domain:logging:2.0">下面添加 <use-deployment-logging-config value="false"/>
添加后为
<profile> <subsystem xmlns="urn:jboss:domain:logging:2.0"> <use-deployment-logging-config value="false"/> <console-handler name="CONSOLE"> <level name="INFO"/> <formatter> <named-formatter name="COLOR-PATTERN"/> </formatter> </console-handler>
第二步:在Web应用下添加WEB-INF/classes/jboss-deployment-structure.xml 部署文件,内容如下
<?xml version="1.0" encoding="UTF-8"?> <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <deployment> <exclusions> <module name="org.apache.log4j"></module> </exclusions> </deployment> </jboss-deployment-structure>
重新启动JBoss WildFly 8,日志按WEB-INF/classes/log4j.properties 中自定义的格式输出了。
时间: 2024-10-05 05:19:35