使用Log4j找不到记录器的appender

时间:2014-06-27 14:12:53

标签: java logging log4j

enter image description here我正在本地运行一个应用程序并尝试将其输出到我创建的文件中。 log4j.properties文件如下所示:

# Define the root logger with appender file

log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=C:\\Users\\jkm144\\workspace\\LdapPurge\\log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

这是一个Maven项目。它在我的pom.xml中定义,并列在我的Maven依赖项中。

我已经导入了三个类:

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.FileAppender;

我用来定义记录器的代码是:

static Logger log = Logger.getLogger(LdapPurge.class.getName());

任何时候我遇到一个日志,它告诉我“log4j:WARN没有为记录器找到appender”

我不确定我做错了什么。这是我第一次使用log4j。

2 个答案:

答案 0 :(得分:1)

您应该将 log4j.properties 放在

  

WEB-INF /类

您的网络应用程序的目录。 Log4j将找到属性文件并初始化自身。这很容易做到而且很有效。

Manaully添加log4j.properties:

您可以在任何需要的地方添加它,在运行项目时配置类路径并通过单击添加log4j.properties文件的位置:运行 - >运行配置 - > [classpath tab] - >点击用户条目 - >高级 - >选择添加文件夹 - >选择log4j.properties文件的位置。单击“确定”

答案 1 :(得分:1)

您的屏幕截图表明这是一个Maven项目,因此请将log4j.properties放入src/main/resources。这是需要在运行时在类路径上结束的资源文件的Maven标准路径,您放在其中的任何内容都将打包到应用程序的JAR文件中,以及从源中编译的类。 src/main/java