作为日志记录工具,我使用Log4j2,这是通过使用系统属性(/VM参数)调用的,使用:
-Dlog4j.configurationFile=./config/log4j2_config.xml
为了编译我的项目,我使用Maven并创建exe文件Launch4j(Plugin:com.akatast.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>
但是两者都没有工作,我的记录器也没有记录...
也许你也有同样的问题,可以帮助我。
谢谢你的帮助!
<opts>
<opt>-Dlog4j.configuration=file:log4j.xml</opt>
</opts>
我不熟悉launch4j或maven插件,但根据Ant文档,您可以使用
喜欢
<jre>
<opt>-Dlog4j.configurationFile=./config/log4j2_config.xml</opt>
</jre>
试试看,让我知道它是否有效。
现在有个问题:
您使用不同的配置名称是有原因的吗?通常文件名是
log4j2.xml
。如果使用该名称,则应自动加载配置,并且不需要系统属性。
问题内容: 是否可以向Java系统属性添加新值。如果有的话,如何在Java系统属性中引入具有相应值的新键。 问题答案: 无论是或使用国旗当您启动JVM
问题内容: 我想这样做: 注意这一行: 我试图设置这样的值: 但我看不到任何效果。 在调用方法之前是否已配置log4j ? 还有其他方法吗? 问题答案: 看来您做对了所有事情。我认为在主类中设置属性与通过命令行指定属性之间没有任何区别,只要它发生在实际的log4j初始化之前即可。 我认为您的问题是 在 指定属性 之前已 加载日志记录框架。我可以说在调用配置器时将配置日志记录框架(log4j)。这样
使用 我修改了以包含导入语句。因此,maven无法找到我试图使用并将其与项目链接的jar。 我向pom.xml文件添加了一个依赖项,如下所示:
您好,我最近在spring项目中将日志记录从log4j迁移到了log4j2。 一切正常,但我想知道如何设置属性
问题内容: 如何在jQuery中的特定HTML标签中添加属性? 例如,像下面这样的简单HTML: 然后添加一个属性disable =“ true”,如下所示: 问题答案: 您可以像这样添加属性: 但是,对于和这样的DOM属性,正确的方法(从JQuery 1.6开始)是使用。
问题内容: 我读过的几乎每篇文章都告诉我,Java中没有 chdir 。这个问题的公认答案是您不能用Java做到这一点。 但是,这是我尝试过的一些方法: 这是我正在使用的测试课程: 请解释为什么这样做。我可以从现在开始使用它,并期望它在所有平台上都能以相同的方式工作吗? 问题答案: 仅仅因为给出期望的答案并不意味着它正在做您想要的事情。 例如,尝试: 那到底在哪里?在我的Windows机器上,即使