Use my log4j under jboss 6

后端 未结 3 752
独厮守ぢ
独厮守ぢ 2020-12-30 13:23

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

相关标签:
3条回答
  • 2020-12-30 14:06

    to set my log4j in the classpath correctly i did 2 things :

    1) I set the name of the log4j to use like this

    -Dlog4j.configuration=fox-log4j.xml
    

    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 :

    #parameter used by the JVM and call later in the log4j.xml
    LOG_FOLDER=$DIRNAME/../server/default/log
    #jvm options
    JAVA_OPTS="-Xms256m -Xmx4096m -XX:MaxPermSize=1024m -Dlog4j.configuration=fox-log4j.xml \
    -Dfile.encoding=UTF-8 -Dfile.io.encoding=UTF-8 -DjavaEncoding=UTF-8 -Djboss.platform.mbeanserver \
    -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl \
    -Djava.util.logging.manager=org.jboss.logmanager.LogManager \
    -Dorg.jboss.logging.Logger.pluginClass=org.jboss.logging.logmanager.LoggerPluginImpl \
    -DLOG_FOLDER=$LOG_FOLDER"
    

    now a piece of my log4j :

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    
     <appender name="FOX_LOG" class="org.apache.log4j.RollingFileAppender">
      <param name="Threshold" value="DEBUG"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="25MB"/>
      <param name="MaxBackupIndex" value="5"/>
      <param name="File" value="${LOG_FOLDER}/fox.log"/>
      <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d{ISO8601} %-15x %t %-5p %-50.50c{1} - %m%n"/>
      </layout>
     </appender>
    
     <category name="com.mycompany" additivity="true">
        <priority value="DEBUG"/>
        <appender-ref ref="FOX_LOG"/>
     </category>
    
      <root>
        <priority value="INFO"/>
        <appender-ref ref="FILE"/>
     </root>
    </log4j:configuration>
    

    hope this could help. regards

    0 讨论(0)
  • 2020-12-30 14:09

    I solved my problem doing the following: put jboss-deployment-structure.xml inside web\META-INF with the following in the file

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-deployment-structure>
      <deployment>
        <exclusions>
            <module name="org.apache.log4j" />
            <module name="org.apache.commons.logging" />
        </exclusions>
      </deployment>
    </jboss-deployment-structure>
    

    And add this to the startup of the server: -Dorg.jboss.as.logging.per-deployment=false

    0 讨论(0)
  • 2020-12-30 14:15

    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.

    0 讨论(0)
提交回复
热议问题