[
https://issues.apache.org/jira/browse/LOG4J2-551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13945412#comment-13945412
]
Bohdan Mushkevych edited comment on LOG4J2-551 at 3/24/14 5:48 PM:
-------------------------------------------------------------------
I believe this issue was caused by having NO time-based pattern in the:
RollingFile -> PatternLayout
Having time-based pattern in the filename only is not sufficient for the log4j2
to roll-over the file, should the time-period change.
In summary to address this issue, I used following steps:
- removed time-based pattern from the filename
- added time-based pattern to the RollingFile -> PatternLayout
- replaced ${date:yyyyMMdd} with the %d{yyyyMMdd}
Resulting .xml:
{code:xml}
<Properties>
<Property
name="routing_filename">${log.path}/table-$${sd:type}.log</Property>
</Properties>
<Routing name="Routing">
<Routes pattern="$${sd:type}">
<Route>
<RollingFile name="RollingFile-${sd:type}"
fileName="${routing_filename}"
filePattern="${log.path}/%d{yyyyMMdd}/%d{yyyyMMddHH}-${sd:type}-${hostName}.%i.log.gz">
<PatternLayout>
<Pattern>%d{yyyyMMddHH},%K{v}%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
<SizeBasedTriggeringPolicy size="64 MB"/>
</Policies>
<DefaultRolloverStrategy max="999"/>
</RollingFile>
</Route>
</Routes>
</Routing>
{code}
was (Author: mushkevych):
I believe this issue was caused by having NO time-based pattern in the:
RollingFile -> PatternLayout
Having time-based pattern in the filename only is not sufficient for the log4j2
to roll-over the file, should the time-period change.
In summary to address this issue, I used following steps:
- removed time-based pattern from the filename
- added time-based pattern to the RollingFile -> PatternLayout
- replaced ${date:yyyyMMdd} with the %d{yyyyMMdd}
Resulting .xml:
{code:xml}
<Properties>
<Property
name="routing_filename">${log.path}/table-$${sd:type}.log</Property>
</Properties>
<Routing name="Routing">
<Routes pattern="$${sd:type}">
<Route>
<RollingFile name="RollingFile-${sd:type}"
fileName="${routing_filename}"
filePattern="${log.path}/%d{yyyyMMdd}/%d{yyyyMMddHH}-${sd:type}-${hostName}.%i.log.gz">
<PatternLayout>
<Pattern>%d{yyyyMMddHH},%K{v}%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
<SizeBasedTriggeringPolicy size="64 MB"/>
</Policies>
<DefaultRolloverStrategy max="999"/>
</RollingFile>
</Route>
</Routes>
</Routing>
{code}
> TimeBasedTriggeringPolicy is not triggering file roll-over
> ----------------------------------------------------------
>
> Key: LOG4J2-551
> URL: https://issues.apache.org/jira/browse/LOG4J2-551
> Project: Log4j 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0-rc1
> Reporter: Bohdan Mushkevych
> Attachments: log4j2.xml
>
>
> I am using log4j 2.0-rc1, StructuredDataMessage and EventLogger to perform
> dynamic logging.
> Attached log4j2.xml configuration meant to:
> - rotate log files on hourly basis OR after file reaches 64 MB (whatever
> comes first)
> - archive logs that does not satisfy the file pattern
> However, logging is performed on an "old" log minutes after new hour triggers:
> -rw-r--r--. 1 root root 96195 Feb 24 20:16
> 2014022419-guid_info-mdmlocal.mobidia.com.log
> -rw-r--r--. 1 root root 827184 Feb 24 20:16
> 2014022419-checkin-mdmlocal.mobidia.com.log
> Listing above shows, that last logging was performed to file 2014022419-***
> 16 minutes after filename was supposed to be changed to 2014022420-***
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]