-
1. Re: How to exclude slf4j module in a war artifact?
jaysensharma Jun 24, 2012 4:24 AM (in response to elangovans)Hi,
Only For WAR's
==============
If you want to use your own version of slf4j jar then you can exclude the JBoss provided slf4j using "WEB-INF/jboss-deployment-structure.xml" and then place your own "slf4j.jar" inside "WEB-INF/lib" file as following:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.slf4j" />
</exclusions>
</deployment>
</jboss-deployment-structure>
For EAR's (We need to exclude the slf4j module at Each Sub-Module level as following) using "YOUR_EAR/META-INF/jboss-deployment-structure.xml"
===========================================================
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.slf4j" />
</exclusions>
</deployment>
<sub-deployment name="YOUR_WEBAPP.war">
<exclusions>
<module name="org.slf4j" />
</exclusions>
</sub-deployment>
</jboss-deployment-structure>
-
2. Re: How to exclude slf4j module in a war artifact?
elangovans Jun 24, 2012 9:39 AM (in response to jaysensharma)Thanks for the speedy response, Jay Kumar.
I think I am still doing something wrong. My settings are not getting effective. I am attaching a link to mytest file (https://dl.dropbox.com/sh/4aqxcs27jp4w6pi/c0SoVQSFGv/loghub-test-app-1.0.0.0-SNAPSHOT.war?dl=1. Based on my log4j.xml configuration I expect a log file called loghub.log under jboss log folder. That's not happening. Please point out what I am doing wrong.
thanks.
To test drop the file into deployment folder and http://localhost:8080/loghubtest/lhtest.
-
3. Re: How to exclude slf4j module in a war artifact?
jaysensharma Jun 24, 2012 3:13 PM (in response to elangovans)Hi,
I edited a couple of things in your Project and it started working at my end:
Change-1). Altered the "WEB-INF/classes/log4j.xml" file Just to generate the logs in JBoss Log directory:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="R" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="${jboss.server.log.dir}/sampleslf4j.log" />
<param name="MaxFileSize" value="100KB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%r,%c{1},%t] %m%n"/>
</layout>
</appender>
<category name="org.weld">
<priority value="DEBUG" />
<appender-ref ref="R" />
</category>
<root>
<priority value="debug" />
<appender-ref ref="R" />
</root>
</log4j:configuration>
Change-2). Most important change .. I added "WEB-INF/jboss-deployment-structure.xml" file in oyur WAR as following:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.slf4j" />
<module name="org.apache.log4j" />
</exclusions>
</deployment>
</jboss-deployment-structure>
After deploying the application as soon as i hit the URL: http://localhost:8080/sampleslf4j/rest/test I was able to see a log file generated inside "jboss-as-7.1.1.Final/standalone/log/sampleslf4j.log" with relevant data.
ATTACHING Modified WAR File.
-
sampleslf4_edited.zip 465.0 KB
-
-
4. Re: How to exclude slf4j module in a war artifact?
elangovans Jun 25, 2012 12:21 PM (in response to jaysensharma)Thanks Jay Kumar, Followed your instructions... This worked for me! Appreciate your help.