我在使用带有文件日志记录的 log4j 时遇到问题。即使在网上搜索了很长时间后,我也无法让它工作。
我的 log4j.properties 文件:
log4j.rootLogger = DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=log.out
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Append=true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
我的java生产者类:
@Singleton
public class Loggers {
@Produces
public Logger getLogger(InjectionPoint ip) throws IOException {
Member member = ip.getMember();
Class<?> declaredInClass=member.getDeclaringClass();
Logger logger=Logger.getLogger(declaredInClass.getSimpleName());
Properties props = new Properties();
props.load(Loggers.class.getClassLoader().getResourceAsStream(("log4j.properties")));
PropertyConfigurator.configure(props);
logger.info("should be in the file but it is only in console");
return logger;
}
}
它只是创建空文件而不在那里记录的可能性是什么?但是,它会记录到控制台。