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

使用NetBeans时未看到Log4j2.xml文件,netbeans,log4j,log4j2,Netbeans,Log4j,Log4j2,我的logj2.xml在运行Java 1.7.0_13/64的Windows7/64设备上出现问题。我试图通过调试器使用NetBeans/64 7.2.1 IDE运行应用程序 log4j2.xml位于我的r:\目录中。(用户)类路径为“;r:\”。它显然没有被看到,因为当我在调试器中查看记录器的“config.config.name”时,它给了我“Default”的值。此外,我在我的机器的任何驱动器上的任何地方都找不到log4j2.xml文件中指定的文件。我还在我的机器上查找了任何包含“defa

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

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

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

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>

%d{YYYY-MM-dd HH:MM:ss}[%t]-5级别%logger{36}-%n%msg%n%n%n

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

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


希望这对某人有所帮助。

谢谢joe7pak,您的帖子是解决NetBeans中log4j属性问题的最后一块拼图。我的问题需要一些额外的步骤来帮助解决这个问题

首先,我使用来自的默认xml在src目录中创建了一个log4j.xml文件

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

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

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


感谢您的帖子和回答。

我认为问题可能是IDE可能不知道环境中的CLASSPATH变量。IDE中有一个文本框,可以在其中添加编译器选项,我将在这里添加适当的类路径值,以指向log4j2.xml文件。当我尝试这个的时候我会报告的。这不起作用。。。在Netbeans中,将jar文件放入“编译时库”会创建一个实际的类路径。把这些废话放进去;blahblah’在编译器选项文本框中,表示不再使用事实类路径,并且必须指定项目中的每个jar文件。也许有一种方法可以让这两种方法都起作用,但我不会去那个兔子洞。