【发布时间】:2010-12-01 22:35:42
【问题描述】:
我使用 netbeans 6.7.1 和 glassfish v2.1 编写了一个 Web 服务项目,将 log4j.properties 放到项目的根目录并使用:
static Logger logger = Logger.getLogger(MyClass.class);
在构造函数中:
PropertyConfigurator.configure("log4j.properties");
在函数中:
logger.info("...");
logger.error("...");
// ...
但是,这是错误信息(实际上,我已经尝试将它放在几乎我能意识到的每个目录中):
log4j:ERROR Could not read configuration file [log4j.properties].
java.io.FileNotFoundException: log4j.properties (The system cannot find the file 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:297)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
at com.corp.ors.demo.OrsDemo.main(OrisDemo.java:228)
log4j:ERROR Ignoring configuration file [log4j.properties].
log4j:WARN No appenders could be found for logger (com.corp.ors.demo.OrsDemo).
log4j:WARN Please initialize the log4j system properly.
【问题讨论】:
-
PropertyConfigurator.configure("log4j.properties"); 的目的是什么线 ?我从来不用这个。您的 log4j.xml 文件只能位于类路径中的“某处”。
-
查看stackoverflow.com/questions/1140358/… 以了解 log4j 配置本身是如何被记录的。我认为这应该对你有很大帮助,因为有些容器有自己的 log4j 配置。
-
@AntoineClaval 我删除了那条被诅咒的线,它就像一个魅力。伙计,真棒..
标签: java netbeans glassfish log4j