pourquoi ne log4j pas de journal pour les fichiers que j'ai configuré avec un log4j.xml fichier?

J'ai exécuté ce dans divers environnements et n'ai jamais trouvé une explication cohérente. J'ai entendu des commentaires sur le conteneur Tomcat étant "malpropre", avec différentes implémentations de journalisation, éventuellement, là, et puis mon application ou le chargeur de classe n'a pas à connaître la configuration à utiliser.

C'est l'un de ceux affolant les scénarios lors de l'enregistrement fonctionné une fois, et puis n'est-ce pas le journal d'une heure plus tard, avec aucun changement à l'log4j.xml fichier. J'ai obtenu mon log4j.xml fichier dans la racine de mon répertoire /src, de sorte qu'il est déployé à la racine de l' /WEB-INF/classes répertoire. J'utilise la version 6 de Java, Tomcat 6, et c'est une GWT 2.3 application, l'exécution de l'intérieur Eclipse Helios sur un Windows 7 boîte.

Pour ce que ça vaut, voici le log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ABSOLUTE}
      %5p %c{1}:%L - %m%n"/>
        </layout>
    </appender>
    <appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${catalina.home}/logs/log4j.log"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <param name="Append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d
                %-5p  [%c{1}] %m %n" />
        </layout>
    </appender>
    <root>
        <priority value="debug"></priority>
        <appender-ref ref="fileAppender"/>
    </root>
</log4j:configuration>

voici comment je reçois le logger dans ma classe qui s'occupe de l'enregistrement

protected static Logger m_logger = Logger.getLogger(RemoteLoggingServiceImpl.class);

et puis effectivement journal, je viens de faire

m_logger.debug("my log message");

L'aide du code ci-dessus, il n'a pas d'écrire à la logj4.fichier journal.

Ensuite, j'ai essayé le suivant, qui a obtenu l'enregistrement sur le log4j.fichier journal, mais pas à la otherFile.fichier journal que je m'attendais. Voici la mise à jour log4j.xml fichier :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE}
%5p %c{1}:%L - %m%n"/>
</layout>
</appender>
<appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.home}/logs/log4j.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d
%-5p  [%c{1}] %m %n" />
</layout>
</appender>
<appender name="otherFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.home}/logs/otherFile.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d
%-5p  [%c{1}] %m %n" />
</layout>
</appender>
<root>
<priority value="debug"></priority>
<appender-ref ref="fileAppender"/>
</root>
<logger name="com.mypackage.myLoggingClass">
<level value="debug"/>
<appender-ref ref="otherfileAppender"/>
</logger>
</log4j:configuration>

et j'ai créer ce logger avec ceci à la place :

protected static Logger m_logger = Logger.getLogger("com.mypackage.myLoggingClass");

Quelqu'un peut-il expliquer pourquoi il ne peut se connecter à tous dans le premier scénario, et/ou pourquoi il se connecte à log4j.journal, mais pas otherFile.journal de dans le 2e scénario?

  • Je suis l'aide de log4j version 1.2.9
InformationsquelleAutor user26270 | 2012-12-13