I want to deploy my web application on JBOSS6. The applicaation itself works, but the logging doens't. I use log4j and have added a jboss-deployment-structure.xml to my war. The contents are
<jboss-deployment-structure>
<deployment>
<!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
<exclusions>
<module name="org.apache.log4j" />
<module name="org.jboss.logging" />
</exclusions>
</deployment>
In my log4j.xml I have
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "dtd/log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="LogAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="C:\\logs\\web.log"/>
<param name="MaxFileSize" value="10000KB"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%x %-5p [%d{yyyyMMdd HH:mm:ss}] - %c:%L - %m%n"/>
</layout>
</appender>
<logger name="be.sofico.web">
<level value="debug" />
<appender-ref ref="LogAppender" />
</logger>
This all works fine on tomcat and websphere (when I set classloading parent last)
How can I get it to work on JBOSS 6?
It means it is not loading your log4j.xml. Something wrong with the xml file location or issue with the class loader finding this log4j.xml.
I solved my problem doing the following: put jboss-deployment-structure.xml inside web\META-INF with the following in the file
And add this to the startup of the server: -Dorg.jboss.as.logging.per-deployment=false
to set my log4j in the classpath correctly i did 2 things :
1) I set the name of the log4j to use like this
this one has to be in the
CLASSPATH
2) I call the logging manager explicitly otherwise the jboss log4j wont work
this gives in my run.conf :
now a piece of my log4j :
hope this could help. regards