Log4j2 记录到文件和控制台
Log4j2 logging to file and console
我在我的 Java
项目中使用 Log4j2 2.11.1
来记录控制台和文本文件。我初始化如下:
private static Logger logger = LogManager.getLogger(readAllLinks.class);
我创建了 resources/log4j2.propertie
s 文件来设置首选项。
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
文件已在文件系统上创建,但它是空的。我尝试了所有日志级别。
在行 rootLogger.appenderRefs = stdout
中,每个日志记录操作都会转到控制台附加程序(您会在标准输出中看到它)。
要同时记录到标准输出和文件,请使用
rootLogger.level=debug
rootLogger.appenderRefs=stdout,logfile
rootLogger.appenderRef.stdout.ref=STDOUT
rootLogger.appenderRef.logfile.ref=LOGFILE
我在我的 Java
项目中使用 Log4j2 2.11.1
来记录控制台和文本文件。我初始化如下:
private static Logger logger = LogManager.getLogger(readAllLinks.class);
我创建了 resources/log4j2.propertie
s 文件来设置首选项。
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
文件已在文件系统上创建,但它是空的。我尝试了所有日志级别。
在行 rootLogger.appenderRefs = stdout
中,每个日志记录操作都会转到控制台附加程序(您会在标准输出中看到它)。
要同时记录到标准输出和文件,请使用
rootLogger.level=debug
rootLogger.appenderRefs=stdout,logfile
rootLogger.appenderRef.stdout.ref=STDOUT
rootLogger.appenderRef.logfile.ref=LOGFILE