Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
-
None
Description
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
.%i.txt"
timeBasedFileNamingAndTriggeringPolicy(SizeAndTimeBasedFNATP)
}
encoder(PatternLayoutEncoder)
}
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.