2017-10-06 7 views
0

Je suis en train d'utiliser instad de log4j2.xml de log4j mais je continue à obtenirlog4j: WARN Aucun appenders n'a pu être trouvée pour enregistreur (org.springframework.core.env.StandardEnvironment)

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment). 
log4j:WARN Please initialize the log4j system properly. 

fichier est situé sous src/main/resources

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn" name="WIP"> 
    <Appenders> 
    <Console name="console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %MDC{threadTrackId} %40c{1.} - %msg%n"/> 
    </Console> 
</Appenders> 
<Loggers> 
    <Root level="warn"> 
     <AppenderRef ref="console"/> 
    </Root> 
    <Logger name="com.test" level="debug"/> 
    <Logger name="org.springframework" level="info"/> 
</Loggers> 
</Configuration> 

Je ne sais pas si le fichier est correctement positionné, mais les appenders à l'intérieur sont pas correctement lu ou le fichier n'est pas situé.

dans mon dossier pom j'ai les dépendances suivantes

<dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
    </dependency> 
<dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-1.2-api</artifactId> 
    </dependency> 

Et voici ma section de construction en pom

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.4.0</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>java</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <mainClass>com.wirecard.wip.db.RecreateDatabase</mainClass> 
       <cleanupDaemonThreads>false</cleanupDaemonThreads> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Dans ma classe, voilà comment j'initialiser mon enregistreur

private static final Logger LOG = LoggerFactory.getLogger(MyClass.class); 

et mes importations sont

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

Je gère ma classe par Maven en utilisant cette commande

mvn -B -f pom.xml exec:java -Dlog4j.configurationFile=log4j2.xml 

J'ai aussi essayé

mvn -B -f pom.xml exec:java -Dlog4j.configurationFile=classpath:log4j2.xml 

Toute aide est appréciée

+1

Essayez-vous d'utiliser uniquement log4j2.xml avec les anciennes bibliothèques log4j? Vous pouvez configurer des dépendances de bibliothèques incorreclty. Consultez cette rubrique https://stackoverflow.com/questions/25386651/slf4j-log4j2-maven-setup-query –

+0

@AlexeyR. J'ai déjà essayé ce –

Répondre

2

Le message

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment). 
log4j:WARN Please initialize the log4j system properly. 

est à venir de l og4j1. Vous devez toujours avoir le jar sur votre chemin de classe. Exécutez "mvn dependency: tree" et voyez ce qui l'amène, puis ajoutez une exclusion pour cela.

+0

oui effectivement c'était le problème, je l'ai compris il y a quelques jours abut oublié de poster une réponse, merci pour votre aide –