Je suis très nouveau à log4j, alors s'il vous plaît soyez doux. Mais voici ce qui se passe et je ne sais pas pourquoi: il se connecte correctement à un fichier, mais le nom de fichier du journal créé semble être faux.Log4j se connectant à log4j.log au lieu du nom de fichier spécifié
Voici ma config log4j:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{HH:mm:ss,SSS}] [%-5p] (%t) [%c{1}] %m%n"/>
</layout>
</appender>
<appender name="file" class="org.apache.log4j.FileAppender">
<param name="File" value="log/messagecount.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{HH:mm:ss,SSS}] [%-5p] (%t) [%c{1}] - %m%n"/>
</layout>
</appender>
<root>
<level value="debug"/>
<appender-ref ref="file"/>
<!-- <appender-ref ref="rolling"/> -->
</root>
</log4j:configuration>
Il crée un fichier log4j.log dans le dossier du journal au lieu d'un fichier messagecount.log. Est-ce que cette propriété de valeur ne fait pas ce que je pense qu'elle fait?
Voilà comment j'initialiser le enregistreur:
variable de niveau de classe:
private static Logger logger = Logger.getLogger(MessageCount.class);
Et la fonction init:
private void initLogger() throws IOException {
Properties props = new Properties();
props.load(getClass().getResourceAsStream("/log4j.xml"));
PropertyConfigurator.configure(props);
logger.info("----------Logger init-----------") ;
// logger.debug("Sample debug message");
// logger.info("Sample info message");
// logger.warn("Sample warn message");
// logger.error("Sample error message");
// logger.fatal("Sample fatal message");
}
Le fichier de configuration log4j.xml est à la racine mon dossier src.
Merci
Vous n'avez pas besoin de cette fonction init. Supprime-le. Il suffit de mettre 'log4j.xml' dans le classpath de votre application (bin ou le dossier de construction, il ne sera pas trouvé dans le dossier src) et votre application le trouvera automatiquement. – darioo