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

Popular posts from this blog

android - Why am I getting the message 'Youractivity.java is not an activity subclass or alias' -

python - How do I create a list index that loops through integers in another list -