6 Replies Latest reply: Apr 20, 2012 9:18 AM by hd0815 RSS

logback and JBoss 7.1.1.Final

hd0815 Newbie

Hi,

 

I'm facing problems in getting my enterprise application read the logback.xml and configure my logger.

I read several discussions about this issue already, but nothing seems to work for me. For some reasons I need to use logback and cannot switch to a different logging framework.

 

I tried to exclude org.slf4j in my deployment and all sub-deployments in jboss-deployment-structure.xml, but this had no effect. Everything is still logged to server.log and only to server.log.

 

Here is my jboss-deployment-structure.xml from the ear-File:

 

<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="org.sl4j" />
            <module name="org.slf4j.impl" />
        </exclusions>
    </deployment>
    <sub-deployment name="ejb.jar">
        <exclusions>
            <module name="org.sl4j" />
            <module name="org.slf4j.impl" />
        </exclusions>
    </sub-deployment>
    <sub-deployment name="web.war">
        <exclusions>
            <module name="org.sl4j" />
            <module name="org.slf4j.impl" />
        </exclusions>
    </sub-deployment>
</jboss-deployment-structure>

 

 

The structure of my project is as follows:

 

ear.ear
 |
 |--- lib
 .     |
 .     |--- slf4j-api.jar
 .     |--- logback-classic.jar
 .     |--- logback-core.jar
 |--- ejb.jar
 .     |--- logback.xml
 |--- META-INF
 .     |--- jboss-deployment-structure.xml
 |--- web.war

 

 

In logback.xml a different log folder is defined. Nothing is logged to this folder.

  • 1. Re: logback and JBoss 7.1.1.Final
    Daniel Bevenius Master

    Hi,

     

    I'm not sure about this but could you try adding the 'org.apache.log4j' module to the list of excluded modules. I believe that it this module is added implicitily and might be an issue.

     

    Regards,

     

    /Daniel

  • 2. Re: logback and JBoss 7.1.1.Final
    hd0815 Newbie

    I added org.apache.log4j to the excluded modules in deployment tag and every sub-deployment tag, but that didn't fix the problem. No log file is added to my user defined log directory. Everything is logged into server.log.

  • 3. Re: logback and JBoss 7.1.1.Final
    David Lloyd Master

    hd0815 wrote:

     

    Hi,

     

    I'm facing problems in getting my enterprise application read the logback.xml and configure my logger.

    I read several discussions about this issue already, but nothing seems to work for me. For some reasons I need to use logback and cannot switch to a different logging framework.

     

    I tried to exclude org.slf4j in my deployment and all sub-deployments in jboss-deployment-structure.xml, but this had no effect. Everything is still logged to server.log and only to server.log.

     

    Here is my jboss-deployment-structure.xml from the ear-File:

     

    <jboss-deployment-structure>
        <deployment>
            <exclusions>
                <module name="org.sl4j" />
                <module name="org.slf4j.impl" />
            </exclusions>
        </deployment>
        <sub-deployment name="ejb.jar">
            <exclusions>
                <module name="org.sl4j" />
                <module name="org.slf4j.impl" />
            </exclusions>
        </sub-deployment>
        <sub-deployment name="web.war">
            <exclusions>
                <module name="org.sl4j" />
                <module name="org.slf4j.impl" />
            </exclusions>
        </sub-deployment>
    </jboss-deployment-structure>

     

     

    The structure of my project is as follows:

     

    ear.ear
     |
     |--- lib
     .     |
     .     |--- slf4j-api.jar
     .     |--- logback-classic.jar
     .     |--- logback-core.jar
     |--- ejb.jar
     .     |--- logback.xml
     |--- META-INF
     .     |--- jboss-deployment-structure.xml
     |--- web.war

     

     

    In logback.xml a different log folder is defined. Nothing is logged to this folder.

     

    I think the problem is that you spelled "slf4j" wrong in your exclusions.

  • 4. Re: logback and JBoss 7.1.1.Final
    Stephen Coy Master

    This does not work for exactly the same reasons that affect log4j.

     

    As the logback jars are in the EAR/lib directory, they cannot "see" the logback.xml file in the ejb.jar as it's in a different classloader.

     

    Your choices are to:

    1. Specify -Dlogback.configurationFile=/path/to/config.xml on the command line
    2. Explicitly configure logback from a servlet context listener
  • 5. Re: logback and JBoss 7.1.1.Final
    hd0815 Newbie

    Thanks, I didn't realize that. It seems that I now get the correct logging API but in fact it still isn't realizing the logback.xml. This may be because of the Problem metioned by Stephen Coy. I'm on that already.

  • 6. Re: logback and JBoss 7.1.1.Final
    hd0815 Newbie

    Well, after I fixed my typo in jboss-deployment-structure.xml it didn't work. But I found out that this file wasn't deployed by my JBoss Tools Eclipse plugin. After I copied the file to ear.ear/META-INF in the deployment folder the application was able to find and read logback.xml located at ear.ear/ejb.jar. I have to add that I have a fully exploded deployment. This means even ejb.jar and web.war are exploded archives like JBoss Toold does. I haven't tested if the logback config file can be read when it's archived.