В качестве инструмента ведения журнала я использую Log4j2, и он вызывается с использованием системного свойства (аргумент/VM), используя:
-Dlog4j.configurationFile=./config/log4j2_config.xml
Для компиляции своих проектов я использую Maven и для создания exe-файлов Launch4j (плагин: com.akathist.maven.plugins.launch4j).
Определение плагина в моем pom.xml выглядит так:
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>l4j-clui</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>gui</headerType>
<cmdLine>./config/MyConfig.xml</cmdLine>
<opt>com.akathist.maven.plugins.launch4j.configurationFile=./config/log4j2_config.xml</opt>
<jar>${project.build.directory}/${project.build.finalName}-jar-with-dependencies.jar</jar>
<outfile>${project.build.directory}/MyExe.exe</outfile>
<downloadUrl>http://java.com/download</downloadUrl>
<classPath>
<mainClass>de.my.path.MainClass</mainClass>
<!-- <preCp>anything</preCp> -->
</classPath>
<!-- <icon>${project.basedir}/src/main/assembly/application.ico</icon> -->
<jre>
<minVersion>1.7.0_00</minVersion>
<!-- <jdkPreference>preferJre</jdkPreference> -->
</jre>
</configuration>
</execution>
</executions>
</plugin>
Мой вопрос сейчас:
Как установить системное свойство для интеграции log4j2?!
Если попытаться поместить его в скобки с помощью «opt» (http://launch4j.sourceforge.net/docs.html а>)
или что-то типа того:
<vars>
<var>-Dlog4j.configurationFile=./config/log4j2_config.xml</var>
</vars>
Но оба не работали, и мой регистратор не регистрировался.
Может у вас была такая же проблема и вы можете мне помочь.
Спасибо за помощь!