0

ログ ファイルが 1 つだけ取得され、過去のログが削除されます。過去のログファイルをバックアップしたい。古いコンテンツを置き換えるのではなく、古いコンテンツを別のファイルに保持する必要があります。以下は私の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
4

1 に答える 1

0

使用しているアペンダーによって異なります-おそらくA2またはA3のように見えます。その場合、MaxBackupIndex の値を増やす必要があります。A3 の場合は 5 に設定されており、最大 5 つのバックアップ ファイルが保持されることを意味します。A2 の場合、このプロパティは定義されていないため、最大 1 つのバックアップ ファイルを保持するデフォルト値 1 が使用されます。

これらをより高い値 (たとえば 1000) に設定する必要があります。これにより、それぞれ最大サイズ 10MB (A3 用に定義) の最大 1000 個のバックアップ ファイルが保持されます。

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

編集:申し訳ありませんが、最初の行を読んでください。A1 アペンダーを使用しているようで、それぞれ 100MB の最大 10 個のファイルを保持します。これらの値を増やして、より古いログを保持できます。

于 2012-06-04T12:32:05.273 に答える