我正在本地运行一个应用程序并尝试将其输出到我创建的文件中。 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。
答案 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
。