La configuration de Log4j2 est introuvable lors de l'exécution de l'application autonome créée par le plug-in d'ombrage
J'ai une application qui quand je le lance à partir de maven log4j2 il est de travail:
mvn exec:java -Dexec.args=...
mais lorsque je lance le bocal comme application autonome puis il affiche l'erreur:
java -jar
journal:
ERROR StatusLogger Unrecognized format specifier [d]
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [thread]
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at position 25 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [level]
ERROR StatusLogger Unrecognized conversion specifier [level] starting at position 35 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [logger]
ERROR StatusLogger Unrecognized conversion specifier [logger] starting at position 47 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [msg]
ERROR StatusLogger Unrecognized conversion specifier [msg] starting at position 54 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [n]
ERROR StatusLogger Unrecognized conversion specifier [n] starting at position 56 in conversion pattern.
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
ERROR StatusLogger Unrecognized format specifier [d]
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [thread]
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at position 25 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [level]
ERROR StatusLogger Unrecognized conversion specifier [level] starting at position 35 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [logger]
ERROR StatusLogger Unrecognized conversion specifier [logger] starting at position 47 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [msg]
ERROR StatusLogger Unrecognized conversion specifier [msg] starting at position 54 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [n]
ERROR StatusLogger Unrecognized conversion specifier [n] starting at position 56 in conversion pattern.
Je ne comprends pas cette erreur. Il montre que log4j2 fichier de configuration n'est pas trouvé, mais également se plaindre d'un format qui est probablement dans le fichier de configuration
Ma configuration est:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="off">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d [%t] %-5p - %-26.26c{1} - %m\n" />
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="console" />
</Root>
<Logger name="my.package" level="DEBUG" />
</Loggers>
</Configuration>
et il est situé dans le répertoire racine du fichier jar.
Mise à JOUR
pot est créé par maven ombre plugin:
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
donc il contient toutes les bibliothèques nécessaires (environ 23 MO) et quand je lance ce pot j'ai juste besoin de spécifier des arguments
source d'informationauteur hudi
Vous devez vous connecter pour publier un commentaire.
ok, j'ai trouvé ce question sur ce problème.
En bref, le problème se pose lorsque les classes d'application sont emballés dans uber bocal à l'aide de maven ombre plugin.
Alors que pour
log4j2
version2.8.1
le correctif est toujours en attente, la solution de contournement proposée est de mettre à jour mavenpom.xml
supplémentaires, des paramètres de configuration pour l'ombre plugin comme suit:Veuillez consulter ce pour l'exemple complet de pom.fichier.
En plus de la réponse donnée par @hudi,
nous avons besoin d'ajouter des dépendances à l'intérieur du plugin pour la transformation.