web-dev-qa-db-fra.com

Log4j2 - configuration

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:

  1. ajoutée log4j-api-2.0-beta3.jar à mon projet
  2. a créé un log4j2.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.
  3. redémarra Tomcat.

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>
28
Ibolit

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é.

36
Markus Wilke

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:

  1. Ajoutez le 2.0.1 à la section des propriétés
  2. Ajoutez la dépendance du noyau de journal:

    <dependency>
        <groupId>org.Apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j2-version}</version>
    </dependency>
    
15
Vlad Mihalcea

New icon 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>
5
Paul Vargas

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)

2
Wei Kleeff