如何解决JBoss和log4j冲突
解决jboss和log4j冲突的最理想配置如下:
1.配置$JBOSS-HOME/server/default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml文件里的Java2ClassLoadingCompliance及UseJBossWebLoader为false,如果你的应用下存在WEB-INF/jboss-web.xml,则里面的java2ClassLoadingCompliance及java2ParentDelegaton属性也都设置成false。
2.配置$JBOSS-HOME/server/default/jboss-service.xml中的org.jboss.logging.Log4jService的设置中加个属性:
attribute name="CatchSystemOut">false/attribute>
即可。
如下:
mbean code="org.jboss.logging.Log4jService" name="jboss.system:type=Log4jService,service=Logging"> attribute name="ConfigurationURL">resource:log4j.xml/attribute> attribute name="CatchSystemOut">false/attribute> attribute name="Log4jQuietMode">true/attribute> /mbean>
3.建立一个用于初始化的 InitServlet ,在init方法指定log4j读取我们应用下的的log4j.properties文件,代码如:
public void init(ServletConfig config) throws ServletException { PropertyConfigurator.configure(config.getServletContext().getRealPath("/") + "WEB-INF/classes/log4j.properties"); }
然后在 web.xml 配置这个 Servlet 的初始化参数(声明 log4j.properties 的位置)和启动优先级:
servlet> servlet-name>InitServlet/servlet-name> servlet-class>InitServlet/servlet-class> load-on-startup>1/load-on-startup> /servlet>
相关推荐
chw0 2020-11-04
sdaq 2020-07-26
MrLiar 2020-07-07
sdaq 2020-06-16
丨Fanny丨Cri 2020-06-13
CXC0 2020-06-08
MrLiar 2020-06-04
丨Fanny丨Cri 2020-06-03
丨Fanny丨Cri 2020-05-17
JavaWinner 2020-05-10
JavaWinner 2020-05-04
CXC0 2020-04-20
CXC0 2020-04-10
丨Fanny丨Cri 2020-02-18
MrLiar 2020-02-16
CXC0 2020-02-09