我尝试使用`log4j.properties'文件配置log4j。
所有的工作,但我发现了一些奇怪的警告:
log4j:WARN找不到logger(org.apache.http.impl.conn.SingleClientConnManager)的appender。 log4j:WARN请正确初始化log4j系统。
这是我的Log4j.properties文件:
log4j.rootLogger=Debug, FILE
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=logs/Logger.log
log4j.appender.FILE.Threshold=info
log4j.appender.FILE.Append=true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%5p::%d{yyyy-MM-dd}::%d{ABSOLUTE}::%c{1}::%L - %m%n
我使用以下类加载Log4j.properties:
public class Loader {
static final Properties Log4j = new Properties();
static Logger logger = Logger.getLogger(Loader.class);
static {
try {
// loading log4j properties file
Log4j.load(new FileInputStream("resources\\Log4j.properties"));
PropertyConfigurator.configure(Log4j);
logger.info("Logger initiated successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
加载项找不到文件,因为您尝试使用相对路径执行FileInputStream。
选项1: 如果您想将文件更改为
Log4j.load(Loader.class.getClassLoader().getResourceAsStream("resources/Log4j.properties"));
选项2(首选): 将前导L更改为小写l,如log4j.properties
然后您可以删除配置,因为这是默认文件名。
Log4j.load(new FileInputStream("resources\\Log4j.properties"));
PropertyConfigurator.configure(Log4j);