Hello Jeremy, You mention a size-based policy, but I only see a time-based policy in your config.
The following patterns should work for RollingFileAppender. The code snippets are based on the code you pasted, and I did not test them. Please let me know if they work for you. -Tony *Size-and-time-based rollover [1]* - rolling policy = new TimeBasedRollingPolicy() - TimeBasedRollingPolicy.timeBasedFileNamingAndTriggeringPolicy = new SizeAndTimeBasedFNATP() - trigger policy = do not set (already handled by TimeBasedRollingPolicy) Code: TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new TimeBasedRollingPolicy<ILoggingEvent>(); rollingPolicy.setMaxHistory(2); rollingPolicy.setFileNamePattern(fileDirectory + "/log.%d.txt"); rollingPolicy.setParent(rollingFileAppender); rollingPolicy.setContext(loggerContext); // size-and-time-based rollover (5MB files). // We don't need to set this triggering policy's context or start // it because RollingFileAppender.start() does all that for us. // SizeAndTimeBasedFNATP.start() is relatively expensive, so do it // only once if we can avoid it. SizeAndTimeBasedFNATP<ILoggingEvent> triggerPolicy = new SizeAndTimeBasedFNATP<ILoggingEvent>(); triggerPolicy.setMaxFileSize("5MB"); rollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy(triggerPolicy); rollingPolicy.start(); *Size-based rollover [2]* - rolling policy = new FixedWindowRollingPolicy() - trigger policy = new SizeBasedTriggeringPolicy() Code: // size-based rollover (fixed window of 3 files, 5MB each) FixedWindowRollingPolicy rollingPolicy2 = new FixedWindowRollingPolicy(); rollingPolicy2.setContext(loggerContext); rollingPolicy2.setFileNamePattern("foo.%i.log"); rollingPolicy2.setMinIndex(1); rollingPolicy2.setMaxIndex(3); rollingPolicy2.start(); // size-based rollover needs a triggering policy SizeBasedTriggeringPolicy<ILoggingEvent> triggerPolicy2 = new SizeBasedTriggeringPolicy<ILoggingEvent>(); triggerPolicy2.setContext(loggerContext); triggerPolicy2.setMaxFileSize("5MB"); triggerPolicy2.start(); [1] http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedFNATP [2] http://logback.qos.ch/manual/appenders.html#SizeBasedTriggeringPolicy On Wed, May 14, 2014 at 8:53 PM, Jeremy Kane <jkane...@gmail.com> wrote: > I've been trying to get the rollinglogfileappender to roll-over at a > certain file size, but I've had no luck. I can get it to roll over at > midnight each night, but I still would prefer to either combine them or > have it just be file-size limited. > > My config is such: > > // Rolling Log Appender > String fileDirectory = KanetikApplication.getFileDirectory(context); > > RollingFileAppender<ILoggingEvent> rollingFileAppender = new > RollingFileAppender<ILoggingEvent>(); > rollingFileAppender.setContext(loggerContext); > rollingFileAppender.setAppend(true); > rollingFileAppender.setFile(fileDirectory + "/log.txt"); > > TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new > TimeBasedRollingPolicy<ILoggingEvent>(); > rollingPolicy.setMaxHistory(2); > rollingPolicy.setFileNamePattern(fileDirectory + "/log.%d.txt"); > rollingPolicy.setParent(rollingFileAppender); > rollingPolicy.setContext(loggerContext); > rollingPolicy.start(); > > rollingFileAppender.setRollingPolicy(rollingPolicy); > > PatternLayoutEncoder fileEncoder = new PatternLayoutEncoder(); > fileEncoder.setContext(loggerContext); > fileEncoder.setPattern("%d{h:mm:ss} %level - %msg%n"); > fileEncoder.start(); > > rollingFileAppender.setEncoder(fileEncoder); > rollingFileAppender.start(); > > // LogCat Appender > PatternLayoutEncoder logcatEncoder = new PatternLayoutEncoder(); > logcatEncoder.setContext(loggerContext); > logcatEncoder.setPattern("%msg%n"); > logcatEncoder.start(); > > PatternLayoutEncoder tagEncode = new PatternLayoutEncoder(); > tagEncode.setContext(loggerContext); > tagEncode.setPattern(tag); > tagEncode.start(); > > LogcatAppender logcatAppender = new LogcatAppender(); > logcatAppender.setContext(loggerContext); > logcatAppender.setEncoder(logcatEncoder); > logcatAppender.setTagEncoder(tagEncode); > logcatAppender.start(); > > // add the newly created appenders to the root logger; > // qualify Logger to disambiguate from org.slf4j.Logger > ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) > LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); > > root.setLevel(level); > root.addAppender(rollingFileAppender); > root.addAppender(logcatAppender); > > Can anyone tell me why it's not working? > > Thanks! > J > > _______________________________________________ > Logback-user mailing list > Logback-user@qos.ch > http://mailman.qos.ch/mailman/listinfo/logback-user >
_______________________________________________ Logback-user mailing list Logback-user@qos.ch http://mailman.qos.ch/mailman/listinfo/logback-user