Search code examples
javalog4jlog4j2

How to add the date timestamp to log4j2 logfiles?


I want to create day dependent logfiles with log4j2:

<RollingFile name="APP" fileName="application-%d{yyyy-MM-dd}.log" />

Resulting logfile name: application-%d{yyyy-MM-dd}.log, the timestamp is not replaced. Why?


Solution

  • The pattern should not be given in the attribute "fileName" rather you have to specify the pattern in the attribute "filePattern" as like below.

    <RollingFile name="RollingFile" fileName="${log-path}/filename.log" 
    filePattern="${log-path}/filename-%d{yyyy-MM-dd}-%i.log" >
    ...
    ...
    </RollingFile>
    

    The "%i" is the counter that will be automatically incremented in rollover.

    Hope this will help you.