【问题标题】:How to get old log details in log file?如何在日志文件中获取旧的日志详细信息?
【发布时间】:2012-06-04 11:58:12
【问题描述】:

我只得到一个日志文件。过去的日志被删除。 我想要过去的日志文件作为备份。 它不应该替换旧内容,而是将旧内容保存在单独的文件中。 以下是我的 log4j.properties 文件

# Log4j configuration file.
 log4j.rootCategory=DEBUG, A1
 # Available levels are DEBUG, INFO, WARN, ERROR, FATAL

 #
 # A1 is a ConsoleAppender 
 #

log4j.appender.A1 = org.apache.log4j.RollingFileAppender
log4j.appender.A1.File = C:/LogInfo/logfile.log
log4j.appender.A1.MaxFileSize = 100MB
log4j.appender.A1.MaxBackupIndex=10
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = [%d] %C %M %L - %m%n
log4j.appender.A1.Threshold = DEBUG

 #
 # A2 is a DailyRollingFileAppender
 #
 log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
 log4j.appender.A2.file=C:/LogInfo/logfile.log
 log4j.appender.A2.datePattern='.'yyyy-MM-dd
 log4j.appender.A2.append=true
 log4j.appender.A2.layout=org.apache.log4j.PatternLayout
 log4j.appender.A2.layout.ConversionPattern=[%d] %C %M %L - %m%n

 # 
 #
 # A3 is a RollingFileAppender - Should be used in production only
 #   
 log4j.appender.A3=org.apache.log4j.RollingFileAppender
 log4j.appender.A3.file=C:/LogInfo/logfile.log
 log4j.appender.A3.append=true
 log4j.appender.A3.MaxBackupIndex=5
 log4j.appender.A3.MaxFileSize=10MB
 log4j.appender.A3.layout=org.apache.log4j.PatternLayout
 log4j.appender.A3.layout.ConversionPattern=[%d] %C %M %L - %m%n

【问题讨论】:

  • 您面临的问题是什么。此配置将保留文件的备份。可能是您的文件在您重新运行或重新部署程序时被删除。
  • 我只得到一个当前文件..没有其他文件
  • 这些将在当前已满时创建。例如,根据 log4j.appender.A1.MaxFileSize 或 FileAppender 类型,在 10 mb 之后或一天之后。
  • 我的旧日志文件在 10 mb 后被删除。
  • 我猜...但是尝试删除=周围的空格

标签: java eclipse logging log4j struts


【解决方案1】:

取决于您使用的附加程序 - 看起来可能像 A2 或 A3。 在这种情况下,您需要增加 MaxBackupIndex 的值 - 对于 A3,它设置为 5,这意味着最多将保留 5 个备份文件。对于 A2,此属性未定义,因此它将使用默认值 1,最多保留 1 个备份文件。

您应该将这些设置为更高的值 - 比如说 1000,这将保留多达 1000 个备份文件,每个最大大小为 10MB(为 A3 定义)。

log4j.appender.A2.MaxBackupIndex=1000
log4j.appender.A3.MaxBackupIndex=1000

编辑:对不起,请阅读第一行。看起来您正在使用 A1 appender,它将最多保留 10 个文件,每个文件 100MB。您可以增加这些值以保留更多旧日志。

【讨论】:

  • 我已将文件大小增加到 2000mb。它将日志写入到 2000mb,之后文件变为 0kb 并再次开始写入。它在 2000mb 之后创建新文件。我没有备份文件.
  • 也试试 log4j.appender.A1.append=true
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 2014-11-17
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
相关资源
最近更新 更多