Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse和Maven中的Log4j2-需要有不同的配置文件_Eclipse_Maven_Log4j2 - Fatal编程技术网

Eclipse和Maven中的Log4j2-需要有不同的配置文件

Eclipse和Maven中的Log4j2-需要有不同的配置文件,eclipse,maven,log4j2,Eclipse,Maven,Log4j2,我正在工作站上使用Eclipse和m2e 有时,我使用内置的EclipseJUnit功能单独运行单元测试,以在JUnit视图中显示结果 在签入代码之前的其他时间,我使用Maven测试目标运行整个测试套件和集成测试 但是,当我忘记更改log4j2配置以将最低日志级别设置为DEBUG时,Maven进程将杀死Eclipse,我需要重新启动 在运行单个单元测试时,我通常将日志级别设置为跟踪 我的log4j2配置文件位于src/test/resources目录中 我还在容器中设置了log4j2来读取文件系

我正在工作站上使用Eclipse和m2e

有时,我使用内置的EclipseJUnit功能单独运行单元测试,以在JUnit视图中显示结果

在签入代码之前的其他时间,我使用Maven测试目标运行整个测试套件和集成测试

但是,当我忘记更改log4j2配置以将最低日志级别设置为DEBUG时,Maven进程将杀死Eclipse,我需要重新启动

在运行单个单元测试时,我通常将日志级别设置为跟踪

我的log4j2配置文件位于src/test/resources目录中

我还在容器中设置了log4j2来读取文件系统上的配置文件


我可以在Eclipse运行对话框中配置Maven目标以使用不同的log4j2文件吗

结果很简单

创建一个新的配置文件src/test/resources/log4j2-maven.xml

在pom.xml中配置surefire测试运行程序:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.17</version>
      <configuration>
        <systemProperties>
          <property>
            <name>log4j.configurationFile</name>
            <value>log4j2-maven.xml</value>
          </property>
        </systemProperties>
      </configuration>
    </plugin>
  </plugins>
</build>

org.apache.maven.plugins
maven surefire插件
2.17
log4j.configurationFile
log4j2-maven.xml