
I have been trying to convert our logging configuration to the groovy based configuration and have run into an issue with setting the SizeAndTimeBasedFNATP up. I used the converter tool to convert our configuration and have also tried the examples in the documentation: import ch.qos.logback.classic.encoder.PatternLayoutEncoder import ch.qos.logback.core.rolling.RollingFileAppender import ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP import ch.qos.logback.core.rolling.TimeBasedRollingPolicy import static ch.qos.logback.classic.Level.DEBUG appender("ROLLING", RollingFileAppender) { file = "mylog.txt" rollingPolicy(TimeBasedRollingPolicy) { fileNamePattern = "mylog-%d{yyyy-MM-dd}.%i.txt" timeBasedFileNamingAndTriggeringPolicy(SizeAndTimeBasedFNATP) { maxFileSize = "100MB" } } encoder(PatternLayoutEncoder) { pattern = "%msg%n" } } root(DEBUG, ["ROLLING"]) Everything I've tried has resulted in this exception: java.lang.NullPointerException at ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicyBase.start(TimeBasedFileNamingAndTriggeringPolicyBase.java:46) at ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP.start(SizeAndTimeBasedFNATP.java:36) ... If I step through the configuration process it appears that on line 46 in TimeBasedFileNamingAndTriggeringPolicyBase the tbrp member variable is null here. Any ideas?