0

I need to create a new log file everyday, an old file has to be renamed with pattern: "test.yyy-MM-dd.log". And files older than 7 days have to be removed. Below is my .properties file. Can someone explain what I have to add/change pls?

    log4j.rootLogger=DEBUG, FILE
    # Define the file appender
    log4j.appender.FILE=org.apache.log4j.RollingFileAppender

    # Set the name of the file
    log4j.appender.FILE.File=logs/test.log
    log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
    log4j.appender.FILE.Append=true
    log4j.appender.FILE.MaxFileSize=5MB
    log4j.appender.MaxBackupIndex=10

    # Define the layout for file appender
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%C]: %m%n

1 Answers1

0

According to official log4j docs

log4j.appender.FILE.DatePattern='.'yyyy-MM-dd

means

Rollover at midnight each day. At midnight, on March 8th, 2002, /foo/bar.log will be copied to /foo/bar.log.2002-03-08. Logging for the 9th day of March will be output to /foo/bar.log until it is rolled over the next day.

So first step is accomplished.

The

log4j.appender.MaxBackupIndex=10

menas

Maximum number of backup files to keep.

You want 7, but configured 10

Next

log4j.appender.FILE.MaxFileSize=5MB

Maximum allowed file size (in bytes) before rolling over

So each file can be max 5MB, if you will produce 7mb of logs in one day then two different files will be created.

Have you tested that config? Does it work? What works as expected and what doesn't? Have you read any documentation or tutrial?

Mateusz
  • 690
  • 1
  • 6
  • 21