使用NetBeans时未看到Log4j2.xml文件



我的logj2.xml在运行Java 1.7.0_13/64的Windows7/64盒子上出现问题。我正在尝试通过调试器使用NetBeans/64 7.2.1 IDE运行应用程序。

log4j2.xml位于我的r:\目录中。(用户)类路径是".;r:\"。它显然没有被看到,因为当我在调试器中查看Logger的"config.config.name"时,它会给我一个值"Default"。此外,我在机器的任何驱动器上的任何位置都找不到log4j2.xml文件中指定的文件。我还在机器上查找了任何包含"默认"一词的新文件,但找不到最新的。

所以我怀疑我做错了两件事中的一件:

1) 错误地设置了类路径。2) 错误地将我的log4j2.xml文件放在一起。

如有任何帮助,我们将不胜感激。我的钥匙因为用前额碰而变得黏糊糊的。

这是配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="debug" name="xxx" packages="" >
  <appenders>
      <RollingFile name="log" fileName="qqq.log"
           immediateFlush="true" filePattern="qqq-%d{yyyy-MM-dd}.log">
         <PatternLayout>
            <pattern>"%d{YYYY-MM-dd HH:mm:ss}   [%t]   %-5level   %logger{36} - %n%msg%n%n%n"</pattern>
         </PatternLayout>
         <Policies>
            <TimeBasedTriggeringPolicy />
            <SizeBasedTriggeringPolicy />
         </Policies>
         <DefaultRolloverStrategy max="92"/>
      </RollingFile>
  </appenders>
  <loggers>
     <root level="trace">
        <appender-ref ref="log"/>
    </root>
  </loggers>
</configuration>

好的,明白了。我已经将这个问题重命名为包含NetBeans,因为这是我问题的要点。

作为回顾,log4j2.xml文件需要进入类路径。虽然我可以通过向项目中添加jar文件来影响netbeans中的类路径,但我最初并没有考虑在类路径上找到配置文件。无论如何,一旦我意识到这一点,我就在项目属性中玩了一玩,最终发现只要将文件夹添加到"编译时库"对话框(在本例中为"r:\")中,就会将配置文件放在类路径上,我的日志记录就可以正常工作。

哇!

希望这能帮助到别人。

感谢joe7pak,您的帖子是解决我在NetBeans中的log4j属性问题的最后一块拼图。我的问题需要一些额外的步骤,这可能有助于完善这个解决方案。

首先,我在src目录中使用来自http://wiki.apache.org/logging-log4j/Log4jXmlFormat.

然后,我将Properties \ Run中的NetBeans VM选项设置为:-Dlog4j.debug。我注意到,默认情况下加载的是jar的(httpbuilder)log4j.xml文件,而不是我的。

因此,我根据您的建议将src文件夹添加到Properties \ libraries中的编译时库中。然而,它仍然在从jar加载log4j.xml文件。

最后一点是将src文件夹移到编译时库的顶部。

谢谢你的帖子和你自己的回答。

相关内容

  • 没有找到相关文章

最新更新