Hi there,

I tried to configure a SizeAndTimeBasedRollingPolicy programmatically (see 
below)
                Logger statisticsLogger = (Logger) 
LoggerFactory.getLogger("statistics"); 
                int MAX_HISTORY = 1095; 
                FileSize MAX_FILE_SIZE = FileSize.valueOf("250MB"); private 
static final String PATTERN = "%d %-5level %logger %msg%n";

                LoggerContext loggerContext = (LoggerContext) 
LoggerFactory.getILoggerFactory();

                String filename = 
"log/"+applicationContext.serviceGroupKey()+"-statistics.log";
                String 
rollingFilenamePattern="log/"+applicationContext.serviceGroupKey()+"statistics-%d{yyyy-MM-dd_HH}.log.gz";

                PatternLayoutEncoder patternLayoutEncoder = new 
PatternLayoutEncoder();

                patternLayoutEncoder.setPattern(PATTERN);
                patternLayoutEncoder.setContext(loggerContext);
                patternLayoutEncoder.start();

                RollingFileAppender<ILoggingEvent> rollingFileAppender = new 
RollingFileAppender<ILoggingEvent>();
                rollingFileAppender.setFile(filename);
                rollingFileAppender.setName("statistics");
                rollingFileAppender.setEncoder(patternLayoutEncoder);
                rollingFileAppender.setContext(loggerContext);
                rollingFileAppender.setImmediateFlush(true);
                rollingFileAppender.setAppend(false);
                
                patternLayoutEncoder.setParent(rollingFileAppender);


                SizeAndTimeBasedRollingPolicy<Object> rollingFilePolicy = new 
SizeAndTimeBasedRollingPolicy<>();
//              TimeBasedRollingPolicy<Object> rollingFilePolicy = new 
TimeBasedRollingPolicy<>();
                rollingFilePolicy.setContext(loggerContext);
                rollingFilePolicy.setParent(rollingFileAppender);
                rollingFilePolicy.setFileNamePattern(rollingFilenamePattern);
                rollingFilePolicy.setMaxHistory(MAX_HISTORY);
                rollingFilePolicy.setMaxFileSize(MAX_FILE_SIZE); // comment out 
for TimeBasedRollingPolicy
                rollingFilePolicy.start();
                rollingFileAppender.setRollingPolicy(rollingFilePolicy);
                rollingFileAppender.start();

                statisticsLogger.addAppender(rollingFileAppender);
                statisticsLogger.setAdditive(false);

        
However, no logfile is produced. If the SizeAndTimeBasedRollingPolicy is 
replaced by a TimeBasedRollingPolicy, everything works fine.

What is my mistake.

Thanks in advance

- Ulrich
_______________________________________________
logback-user mailing list
[email protected]
https://mailman.qos.ch/cgi-bin/mailman/listinfo/logback-user

Reply via email to