繁体   English   中英

如何在Netbeans Maven项目中将log4j2.xml添加到类路径

[英]How to adding log4j2.xml to classpath in Netbeans maven project

我目前正在使用sl4fj和log4j2在Netbeans中编写一个小型Maven Java应用程序。 在生产环境中部署Java属性log4j.configurationFile时,将无法使用它。 因此,我希望log4j2在我的项目中搜索并找到属性文件。 我四处搜寻,没有运气,尝试了以下方法;

将log4j2.xml添加到src / main / resources文件夹,并使用maven配置(pom.xml)将其包含在jar中。 这实际上不包括在类路径中,而是将xml添加到类路径中的某个位置。

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>com/reddipped/jsonlogger_2</targetPath>
                <includes>
                    <include>log4j2.xml</include>
                </includes>
            </resource>
        </resources>
</build>

更改了项目属性->操作->运行项目中的类路径以包含xml文件

exec.args=-classpath %classpath:/Users/petervannes/NetBeansProjects/JSONLogger_2/log4j2.xml ${packageClassName}

我可以尝试其他选择吗? 这是一个Maven项目,因此无法在项目属性中添加jar。

-更新1-

我在pom.xml中添加了属性maven.test.additionalClasspath,其中包括log4j2.xml。 并添加了一个简单的JUnit测试。

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.6</maven.compiler.source>
        <maven.compiler.target>1.6</maven.compiler.target>         
<maven.test.additionalClasspath>${project.basedir}/src/test/java/log4j2.xml</maven.test.additionalClasspath>
</properties>

使用-X参数执行Maven clean and build时,日志报告

properties used {java.vendor=Oracle Corporation, sun.java.launcher=SUN_STANDARD ....., maven.test.additionalClasspath=/Users/petervannes/NetBeansProjects/JSONLogger_2/src/test/java/log4j2.xml, maven.compiler.target=1.6

仍然收到找不到log4j配置文件的错误。

Running com.reddipped.test.JSONLoggerTest
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

本页介绍log4j用于查找配置的方法。

据此,您应该将log4j2.xml文件放入项目的默认包中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM