java - Log4j2 configuration not found when running standalone application builded by shade plugin -
i have application when run maven log4j2 working:
mvn exec:java -dexec.args=... but when run jar standalone application shows error:
java -jar log:
error statuslogger unrecognized format specifier [d] error statuslogger unrecognized conversion specifier [d] starting @ position 16 in conversion pattern. error statuslogger unrecognized format specifier [thread] error statuslogger unrecognized conversion specifier [thread] starting @ position 25 in conversion pattern. error statuslogger unrecognized format specifier [level] error statuslogger unrecognized conversion specifier [level] starting @ position 35 in conversion pattern. error statuslogger unrecognized format specifier [logger] error statuslogger unrecognized conversion specifier [logger] starting @ position 47 in conversion pattern. error statuslogger unrecognized format specifier [msg] error statuslogger unrecognized conversion specifier [msg] starting @ position 54 in conversion pattern. error statuslogger unrecognized format specifier [n] error statuslogger unrecognized conversion specifier [n] starting @ position 56 in conversion pattern. error statuslogger no log4j2 configuration file found. using default configuration: logging errors console. error statuslogger unrecognized format specifier [d] error statuslogger unrecognized conversion specifier [d] starting @ position 16 in conversion pattern. error statuslogger unrecognized format specifier [thread] error statuslogger unrecognized conversion specifier [thread] starting @ position 25 in conversion pattern. error statuslogger unrecognized format specifier [level] error statuslogger unrecognized conversion specifier [level] starting @ position 35 in conversion pattern. error statuslogger unrecognized format specifier [logger] error statuslogger unrecognized conversion specifier [logger] starting @ position 47 in conversion pattern. error statuslogger unrecognized format specifier [msg] error statuslogger unrecognized conversion specifier [msg] starting @ position 54 in conversion pattern. error statuslogger unrecognized format specifier [n] error statuslogger unrecognized conversion specifier [n] starting @ position 56 in conversion pattern. i dont understand error. shows log4j2 configuration file not found complain format in configuration file
my configuration is:
<?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> and located in root directory of jar file.
update
jar created maven shade plugin:
<groupid>org.apache.maven.plugins</groupid> <artifactid>maven-shade-plugin</artifactid> so contains necessary libraries (about 23 mb) , when run jar need specify arguments
ok found issue problem.
in short, problem arises when application classes packaged in uber jar using maven shade plugin. while log4j2 version 2.8.1 fix still pending, suggested workaround update maven pom.xml configuration settings shade plugin follow:
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> . . . . . <build> . . . . . <plugins> . . . . . <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-shade-plugin</artifactid> <version>2.4.1</version> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>meta-inf/*.sf</exclude> <exclude>meta-inf/*.dsa</exclude> <exclude>meta-inf/*.rsa</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="com.github.edwgiz.mavenshadeplugin.log4j2cachetransformer.pluginscachefiletransformer"/> </transformers> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupid>com.github.edwgiz</groupid> <artifactid>maven-shade-plugin.log4j2-cachefile-transformer</artifactid> <version>2.1</version> </dependency> </dependencies> </plugin> . . . . . </plugins> . . . . . </build> . . . . . <pluginrepositories> <pluginrepository> <id>oss.sonatype.org</id> <name>oss sonatype staging</name> <url>https://oss.sonatype.org/content/groups/staging</url> </pluginrepository> </pluginrepositories> . . . . . </project>
Comments
Post a Comment