From ulrich.kriegel at gmail.com Wed Aug 7 05:33:59 2024 From: ulrich.kriegel at gmail.com (Ulrich Kriegel) Date: Wed, 7 Aug 2024 07:33:59 +0200 Subject: [logback-user] Problem with sizeAndTimeBasedRollingPolicy Message-ID: <52117F61-DEDA-4447-A26A-481EE9A3A8DE@gmail.com> 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 rollingFileAppender = new RollingFileAppender(); rollingFileAppender.setFile(filename); rollingFileAppender.setName("statistics"); rollingFileAppender.setEncoder(patternLayoutEncoder); rollingFileAppender.setContext(loggerContext); rollingFileAppender.setImmediateFlush(true); rollingFileAppender.setAppend(false); patternLayoutEncoder.setParent(rollingFileAppender); SizeAndTimeBasedRollingPolicy rollingFilePolicy = new SizeAndTimeBasedRollingPolicy<>(); // TimeBasedRollingPolicy 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