web-dev-qa-db-fra.com

Maven - ERROR StatusLogger Aucun fichier de configuration log4j2 trouvé

Lors de l'exécution de mvn verify, le message ci-dessous s'affiche:

enter image description here

J'ai déjà mis le log4j2.xml sous src/test/resources (mais pas dans src/main/resources parce que je ne veux pas qu'il soit livré avec l'application réelle) comme suggéré ici sans succès.

enter image description here

Le rapport HTML est généré, le fichier journal est écrit et la construction réussie, comme indiqué ci-dessus. Je ne sais pas d'où vient l'erreur.

5
silver

Selon http://logging.Apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration , l'ajout de log4j2.xml à classpath devrait aider.

Si un fichier JSON ne peut pas être localisé, XML ConfigurationFactory essaiera localiser log4j2.xml sur le chemin de classe.

Donc, si vous obtenez toujours le message d'erreur ERROR pas avec vos sources. Cela ressemble à un problème dans le plugin maven-cucumber-reporting. Comme décrit ici http://maven.Apache.org/guides/mini/guide-maven-classloading.html

Veuillez noter que le chargeur de classe du plugin ne contient ni les dépendances du projet actuel ni sa sortie de construction.

Si le plug-in maven ne trouve aucune configuration log4j dans son propre chemin de classe (qui n'inclut pas vos sources/ressources), des messages d'erreur s'affichent. Alors oui, la seule solution attend la publication avec le correctif https://github.com/damianszczepanik/cucumber-reporting/issues/675

3
Yuriy Alevohin

Vous utilisez la dernière version 3.15.0 de Cucumber (au moment de l'écriture de ceci). Votre problème a été résolu en tant que numéro # 675 . Il y avait un commit à partir de pull demande destiné à résoudre ce problème, mais vous devrez probablement attendre la sortie de la prochaine version pour en tirer profit - ou créer une version de capture instantanée localement et voir si cela résout également le problème pour vous.

2
kriegaex

Exécuter -> Exécuter les configurations -> Classpath -> Entrées utilisateur -> Options avancées -> Ajouter des dossiers -> Ajoutez ensuite votre dossier, dans votre cas src/test/resources -> appliquez

Cela doit fonctionner maintenant: D

1
acochavosdi

selon leur documentation, vous pouvez utiliser 'joranConfigurator' et charger la configuration depuis un fichier spécifié

lien de documentation

0

Vous recevez cette erreur car cucumber ou ses dépendances utilisent log4j pour la journalisation et, en l'absence de fichier de configuration log4j, donc log4j imprime un tel message.

S'il n'y a pas de fichier de configuration log4j, log4j utilise une configuration semblable à celle présentée ci-dessous -

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configuration>

<Configuration status="warn" name="xml_configuration">

    <Appenders>
        <Console name="consoleLogger" target="SYSTEM_OUT">
            <PatternLayout
                pattern="[%level] %m%n" />
        </Console>
    </Appenders>

    <Loggers>
        <Root level="error" additivity="false">
            <appender-ref ref="consoleLogger" />
        </Root>
    </Loggers>
</Configuration>

Ajouter la configuration ci-dessus dans /src/main/resources/log4j2.xml aura le même résultat que de ne pas avoir de fichier log4j2.xml.

Une autre façon d’essayer est de passer le fichier log4j2.xml à maven directement sans le placer dans le chemin de classe du projet. Quelque chose comme ci-dessous -

set MAVEN_OPTS="-Dlog4j.configurationFile=file:///path/to/log4j2.xml"
mvn verify
0
Vikas Sachdeva