J'essaie d'adopter Log4j2 dans mon nouveau projet, mais j'obtiens mes journaux dans catalina.out
, et le premier est toujours: ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger
. Il semble que j'ai tout fait selon les documents Log4j2, mais quand même.
Voici ce que j'ai réellement fait:
log4j-api-2.0-beta3.jar
à mon projetlog4j2.xml
fichier et placez-le dans un emplacement qui se trouve sur le chemin de classe (actuellement, dans /usr/local/Tomcat/home/lib
. En fait, j'ai pris un exemple de fichier de la page Web de Log4J2.J'utilise Tomcat 7, MacOS X 10.8, Java 7.
Qu'est-ce que je rate?
Juste au cas où, voici le log4j2.xml que j'utilise:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="warn" name="MyApp" packages="">
<appenders>
<File name="MyFile" fileName="logs/app.log">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
</File>
</appenders>
<loggers>
<root level="trace">
<appender-ref ref="MyFile"/>
</root>
</loggers>
</configuration>
J'ai eu le même problème. Après avoir également ajouté log4j-core-2.0-beta3.jar au chemin de classe, cela a fonctionné.
Dans Maven vous avez normalement cette configuration de journalisation:
<properties>
<slf4j-version>1.7.7</slf4j-version>
<slf4j-log4j2-version>2.0.1</slf4j-log4j2-version>
</properties>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${slf4j-log4j2-version}</version>
</dependency>
Pour ajouter la bibliothèque log core, vous devez:
Ajoutez la dépendance du noyau de journal:
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2-version}</version>
</dependency>
Mise à jour vers la version 2.7
Ajoutez les bocaux suivants à votre projet:
Si vous utilisez Maven, ajoutez la dépendance:
<dependency>
<groupId>org.Apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
J'utilise log4j2.8.2 et je l'ai laissé réussir la configuration automatique en plaçant log4j2.xml dans le dossier des classes Web (WEB-INF/classes/log4j2.xml)