我有以下log4j
配置文件
log = /home/dummydata/my-logs
log4j.rootLogger=DEBUG, INFO, WARN, ERROR, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=${log}/mylogs.log
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.MaxFileSize=1MB
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
它的工作正常,但它不会在1MB之后拆分日志文件。所有日志都附加在同一文件mylogs.log
我错过了什么吗?
答案 0 :(得分:1)
appender的名称是case-sensitive。因此,您实际上已配置了两个appender,FILE
和file
。
另一种方式,log4j.rootLogger
值的第一个元素是默认级别(例如INFO
或DEBUG
)(必需),下一个元素是appender名称(例如FILE
,CONSOLE
)(一个是必需的)。
因此,更正的文件:
log = /home/dummydata/my-logs
log4j.rootLogger=DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=${log}/mylogs.log
log4j.appender.FILE.MaxBackupIndex=10
log4j.appender.FILE.MaxFileSize=1MB
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
如果要显示log4j如何重命名文件,请附加到此文件:
log4j.debug