【发布时间】:2012-02-13 08:20:13
【问题描述】:
我已尽力设置 Eclipse 和我的 Java 应用程序以使用 log4j.properties 文件。但是,它似乎没有使用属性文件,我不确定为什么。
库:slf4j-api-1.6.1、slf4j-jdk14-1.6.1
在应用程序中,日志记录工作正常。我可以在 Eclipse 控制台中打印信息、警告和错误。
我想做的是更改日志级别以调试并将所有日志消息打印到控制台和日志文件。
我创建了一个log4j.properties 文件,如下所示:
log4j.rootLogger=DEBUG,console,file
log4j.rootCategory=DEBUG, R, O
# Stdout
log4j.appender.O=org.apache.log4j.ConsoleAppender
# File
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log4j.log
# Control the maximum log file size
log4j.appender.R.MaxFileSize=100KB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=5
log4j.appender.file.File=checkLog.log
log4j.appender.file.threshold=DEBUG
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.O.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
我的目录结构如下:
My Project
--src/
----MYProject/
------*.java
--bin/
----MYProject/
------*.class
--log4j/
----log4j.properties
在 Eclipse 中我是这样的:
运行配置 -> 类路径(选项卡)->,右键单击 User Entries -> 添加“log4j”作为新文件夹,并保存。
然后在我的代码中我这样调用记录器(示例代码来演示我的方法,因此它可能存在语法错误):
package MYProject;
import org.slf4j.LoggerFactory;
public class MyClass{
final org.slf4j.Logger test_logger = LoggerFactory.getLogger(MyClass.class);
public MyClass(){}
public someMethod(){
test_logger.debug("Some Debug");
test_logger.info("Some Info");
test_logger.warn("Some Warning");
test_logger.error("An Error");
}
}
然后我调用someMethod,它会将INFO、WARN、ERROR 打印到Eclipse 控制台。它不会打印DEBUG,也不会打印到文件中。
对于我可能做错的任何建议,我将不胜感激。
【问题讨论】: