如何将log4j与Netbeans 6.9.1一起用于Java桌面应用程序

时间:2011-04-04 08:23:15

标签: log4j netbeans-6.9 java

我正在尝试将log4j用于我使用Netbeans IDE 6.9.1开发的Java桌面应用程序。我在META-INF文件夹中有log4j.properties文件,用于在开发期间进行日志记录。我也尝试将它与可执行jar一起(安装后),但它们都不起作用。当我调用该方法时,它也会抛出异常。

PropertyConfigurator.configure(filepath);

并且无论log.properties文件的位置如何,它都会抛出此异常

java.io.FileNotFoundException: META-INF\log4j.properties (The system cannot find the path specified)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at java.io.FileInputStream.<init>(FileInputStream.java:66)
        at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:306)
        at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:324)
        at fi.xmldation.common.SharedMethods.readSettingsFile(SharedMethods.java:43)

它是IDE中的错误还是我做错了什么?

3 个答案:

答案 0 :(得分:0)

如果使用NetBeans等IDE运行程序,请检查该文件位于IDE输出目录中的额外时间。通常,log4j在类路径中查找此文件,因此您必须确保NetBeans实际上将其复制到那里。 你的IDE很可能将它自己的输出目录设置为类路径的一部分,所以我认为你有(至少)两个选项:要么添加你把log4j.properties放到类路径的目录,要么确保它被复制到IDE:s输出目录。祝好运!

答案 1 :(得分:0)

答案 2 :(得分:0)

如果我从属性文件中加载属性

,它会起作用
PropertyConfigurator.configure((new Properties()).load(new FileInputStream ("log4j.properties")));