我正在使用log4j来登录控制台和文件。它只适用于控制台,但不适用于文件,认为正在创建文件
这是我的配置文件:
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}/my_server_logs.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.name=guru.springframework.blog.log4j2properties
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = file, stdout
rootLogger.appenderRef.stdout.ref = STDOUT
我错过了什么?
答案 0 :(得分:4)
缺少文件追加器和根记录器之间的连接。 在属性文件的底部添加以下行:
rootLogger.appenderRef.file.ref = LOGFILE
它将按预期工作。
答案 1 :(得分:0)
我认为您希望将变量$ {filename}替换为property.filename。
的值你可以尝试用硬路径替换$ {filename}并重试(例如Windows上的'C:\'或类似Unix的'/ tmp /')。