我在Log4j2 2.11.1
项目中使用Java
来登录控制台和文本文件。我将其初始化如下:
private static Logger logger = LogManager.getLogger(readAllLinks.class);
我创建了resources/log4j2.propertie
的文件来设置偏好设置。
name=PropertiesConfig
property.filename = logs
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=${filename}/propertieslogs.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
loggers=file
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
/logs/propertieslogs.log
文件是在文件系统上创建的,但是为空。我尝试了所有日志级别。
答案 0 :(得分:2)
在第rootLogger.appenderRefs = stdout
行中,每个记录操作都转到控制台附加程序(您会在标准输出中看到它)。
要同时登录到标准输出和文件,请使用
rootLogger.level=debug
rootLogger.appenderRefs=stdout,logfile
rootLogger.appenderRef.stdout.ref=STDOUT
rootLogger.appenderRef.logfile.ref=LOGFILE