Log4j 不保存到文件中

Log4j not saving into file

我尝试使用 log4j 将我的错误日志保存到文件中。我的代码如下所示:

导入:

import org.apache.log4j.Logger;

代码:

private Logger logger2 = Logger.getLogger(ExceptionSaver.class);
logger2.info("Logger is configured correctly but sth is wrong " + e.getMessage());

配置文件log4j.properties

log4j.rootLogger=DEBUG, default.out, default.file

# System.out.println appender for all classes
log4j.appender.default.out=org.apache.log4j.ConsoleAppender
log4j.appender.default.out.threshold=DEBUG
log4j.appender.default.out.layout=org.apache.log4j.PatternLayout
log4j.appender.default.out.layout.ConversionPattern=%-5p %c: %m%n

log4j.appender.default.file=org.apache.log4j.FileAppender
log4j.appender.default.file.append=true
log4j.appender.default.file.file=/logs/mylogfile.log
log4j.appender.default.file.threshold=INFO
log4j.appender.default.file.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.layout.ConversionPattern=%-5p %c: %m%n

我的代码在里面: main/java/com/co/sp/el/cl/log

配置在里面: main/resources

不幸的是,日志只打印在控制台内。没有使用日志创建的文件。项目是用 gradle 构建的,我添加了依赖项

compile group: 'log4j', name: 'log4j', version: '1.2.17'

我解决了,我将配置更改为:

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=./logs/logError.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n