目前我的代码是在控制台上打印日志,但它没有使用日志创建文件。这是log4j.properties的代码:
log4j.rootLogger=file, stdout
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=C:/logs/logging.log
log4j.appender.file.ImmediateFlush=true
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %L - %m%n
log4j.appender.file.Append=true
log4j.appender.file.Threshold=INFO
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{yyyy-MM-dd HH:mm:ss} %m%n
它位于我的spring应用程序的资源文件夹中。 这就是我使用它的地方:
public void getPreviousDay() {
PropertyConfigurator.configure("log4j.properties");
logger = Logger.getLogger(LocationScheduler.class);
logger.info("Test");
}
答案 0 :(得分:0)
您需要对log4j.properties
首先,log4j.rootLogger
指定日志级别,而不是appender。所以在你的情况下它必须是
log4j.rootLogger= INFO, file, stdout
而不是log4j.appender.file=org.apache.log4j.FileAppender
使用log4j.appender.file=org.apache.log4j.RollingFileAppender
来获取翻转日志文件。
希望这有帮助。
修改强>
您的程序似乎无法访问log4j.properties
,原因是您用于加载它的方法只需要log4j.properties
的完全限定路径
如果您想从类路径中加载log4j.properties
,请使用以下版本:
PropertyConfigurator.configure(ClassLoader.getSystemResource("log4j.properties"));