我正在尝试将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中的错误还是我做错了什么?
答案 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")));