Jon Hanson created LOG4J2-2517:
----------------------------------
Summary: RollingFileManager OnStartupTriggeringPolicy never rolls
the file on startup
Key: LOG4J2-2517
URL: https://issues.apache.org/jira/browse/LOG4J2-2517
Project: Log4j 2
Issue Type: Bug
Components: Appenders
Affects Versions: 2.11.1
Reporter: Jon Hanson
I'm trying to get log4j2 (V2.11.1) to roll the existing log file at startup
before it starts logging into a new file. My config is below. I'm using a
RollingFileManager with a OnStartupTriggeringPolicy with minSize=0, which,
according to the documentation should be sufficient.
However what i'm finding is that at startup, the {{OnStartupTriggeringPolicy}}
class {{initialize}} method compares the timestamp of the log file to the JVM
startup, and if the log file time is after the start-up time then it won't roll
the file. If I step through the code then I see that at the point that check is
made the file time is always after the JVM start time, because log4j2 appears
to have already opened the file for writing at that point.
More info here:
[https://stackoverflow.com/questions/53632091/log4j2-rollingfilemanager-onstartuptriggeringpolicy-never-rolls-the-file-on-star]
*log4j2.json:*
{{{{{ "configuration": { "appenders": { "Console": { "name": "Console",
"PatternLayout": { "pattern": "%d\{yyyy-MM-dd'T'HH:mm:ss.SSS} [%c\{2}]
[%t]%n[%p] : %m%n" } }, "RollingFile": { "name": "RollingFile", "fileName":
"logs/orchestrator.log", "filePattern":
"logs/orchestrator-%d\{MM-dd-yy-HH-mm-ss}-%i.log.gz", "append": false,
"PatternLayout": { "pattern": "%d\{yyyy-MM-dd'T'HH:mm:ss.SSS} [%c\{2}]
[%t]%n[%p] : %m%n" }, "Policies": { "OnStartupTriggeringPolicy": { "minSize" :
0 }, "SizeBasedTriggeringPolicy": { "size": "50 MB" } },
"DefaultRolloverStrategy": { "max": "10" } } }, "loggers": { "root": { "level":
"info", "AppenderRef": [ {"ref": "RollingFile", "level": "INFO"}, {"ref":
"Console", "level": "ERROR"} ] } } } }}}}}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)