Skip to content

Commit

Permalink
Support maxFileSize and archivedFileCount (#1660)
Browse files Browse the repository at this point in the history
* Support max file with size log rotation

(cherry picked from commit ab65a32)
  • Loading branch information
mattnelson authored and arteam committed Oct 28, 2016
1 parent f5efd99 commit 55717a1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -220,16 +220,19 @@ protected FileAppender<E> buildAppender(LoggerContext context) {

if (maxFileSize != null && !archivedLogFilenamePattern.contains("%d")) {
final FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy();
final SizeBasedTriggeringPolicy<E> triggeringPolicy = new SizeBasedTriggeringPolicy<>();
triggeringPolicy.setMaxFileSize(String.valueOf(maxFileSize.toBytes()));
triggeringPolicy.setContext(context);
rollingPolicy.setContext(context);
rollingPolicy.setMaxIndex(getArchivedFileCount());
rollingPolicy.setFileNamePattern(getArchivedLogFilenamePattern());
appender.setRollingPolicy(rollingPolicy);
appender.setTriggeringPolicy(triggeringPolicy);
rollingPolicy.setParent(appender);
rollingPolicy.start();
appender.setRollingPolicy(rollingPolicy);

final SizeBasedTriggeringPolicy<E> triggeringPolicy = new SizeBasedTriggeringPolicy<>();
triggeringPolicy.setMaxFileSize(String.valueOf(maxFileSize.toBytes()));
triggeringPolicy.setContext(context);
triggeringPolicy.start();
appender.setTriggeringPolicy(triggeringPolicy);

return appender;
} else {
final TimeBasedFileNamingAndTriggeringPolicy<E> triggeringPolicy;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,10 @@ public void hasMaxFileSizeFixedWindow() throws Exception {
RollingFileAppender<ILoggingEvent> appender = (RollingFileAppender<ILoggingEvent>) fileAppenderFactory.buildAppender(new LoggerContext());

assertThat(appender.getRollingPolicy()).isInstanceOf(FixedWindowRollingPolicy.class);
assertThat(appender.getRollingPolicy().isStarted()).isTrue();

assertThat(appender.getTriggeringPolicy()).isInstanceOf(SizeBasedTriggeringPolicy.class);
assertThat(appender.getTriggeringPolicy().isStarted()).isTrue();
assertThat(((SizeBasedTriggeringPolicy) appender.getTriggeringPolicy()).getMaxFileSize()).isEqualTo("1024");
}

Expand Down

0 comments on commit 55717a1

Please sign in to comment.