【发布时间】:2015-04-13 17:29:40
【问题描述】:
我正在尝试为我的一个项目设置 log4j。我找到了this 教程,我按照它的每个步骤进行操作。
当然,我已将 jar 文件添加到 Referenced Libraries。下图显示log.out文件的路径在PATH变量中。这就是我的 PATH 变量的样子(只是一个 sn-p):
下图显示log4j jar文件和log4j.properties文件的路径在CLASSPATH变量中。这是我的类路径:
log4j.properties 文件(与前面提到的教程中的 .properties 示例相比,我唯一更改的是 log4j.appender.FILE.File):
这是我的项目层次结构的样子:
我正在使用以下类对其进行测试:
package test;
import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;
public class Log4jExample{
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(Log4jExample.class.getName());
public static void main(String[] args) throws IOException,SQLException{
log.debug("Hello this is an debug message");
log.info("Hello this is an info message");
}
}
我不断收到以下异常,并且没有任何内容记录到指定的文件中:
当尝试点击 WARN 消息中指定的链接时,我找到了以下答案:
当找不到默认配置文件 log4j.properties 和 log4j.xml 并且应用程序没有执行显式配置时,会发生这种情况。
怎么找不到log4j.properties?怎么解决?
注意:我看到有很多关于这些特定 WARN 消息的帖子,但是,我既没有 maven 项目,也没有动态 Web 项目。这是一个普通的 Java 项目,我只是想测试 log4j。我有 Windows 7 并使用 Eclipse Luna。
更新: 看来,如果我将 log4j.properties 文件移动到 src 文件夹,一切都会好起来的。我怎样才能修改东西以从当前的文件结构中工作?
UPDATE #2:我在下面标记为已接受的答案回答了我来自 UPDATE 的问题。不过,我还发现 this 的帖子提出了一个有用的解决方案来解决这个位置问题。
【问题讨论】:
标签: java eclipse logging log4j