log4j.rootLogger=INFO
log4j.logger.com.app.yum.package.WatchDog=INFO,logfile
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.file=watchdog/watchdog.log
log4j.appender.logfile.maxFileSize=1024KB
log4j.appender.logfile.maxBackupIndex=5
log4j.appender.logfile.append=true
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d | %-5p | %m | %c | %t%n
我在log4j属性文件中使用上面的配置。我可以看到已创建一个新文件但其中没有日志。
相反,我在控制台上看到日志。我想要做的是将特定类的所有日志记录在文件watchdog.log
中。
以下是我的记录器初始化
private static final Logger logger = LoggerFactory.getLogger(WatchDog.class);
我错过了什么吗?
答案 0 :(得分:-1)
您需要告诉log4j
登录文件,
首先添加:
log4j.rootLogger=INFO, FILE
然后您需要指定文件Appender
,如:
#settings for FILE: output to file using standard TTCC pattern
#this option backs up the file daily with a date stamp
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
#this option backs up the file after is reaches a specified size
#log4j.appender.FILE=org.apache.log4j.RollingFileAppender
#log4j.appender.FILE.MaxFileSize=1KB
#log4j.appender.FILE.MaxBackupIndex=3
#optionally change the filepath to the log file
log4j.appender.FILE.File=D:/Reliances/reliance90e_NOVO/logs/reliance.log
log4j.appender.FILE.layout=org.apache.log4j.TTCCLayout
log4j.appender.FILE.layout.ContextPrinting=true
log4j.appender.FILE.layout.DateFormat=ISO8601
log4j.appender.FILE.Threshold=DEBUG
并且可以对记录器进行初始化:
//From org.apache.log4j.Logger
Logger logger = Logger.getLogger(obj.getClass().getName());
注意:该值是一个示例,我还想向您展示File Appender中的不同选项,此配置也应添加到您的其他配置中。