import ch.qos.logback.classic.encoder.PatternLayoutEncoder
import ch.qos.logback.core.ConsoleAppender
import ch.qos.logback.core.rolling.RollingFileAppender
import ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP
import ch.qos.logback.core.rolling.TimeBasedRollingPolicy
import reactor.logback.AsyncAppender
import static ch.qos.logback.classic.Level.DEBUG
import static ch.qos.logback.classic.Level.INFO
appender("fileAppender", RollingFileAppender) {
file = "/var/log/tomcat/project.log"
rollingPolicy(TimeBasedRollingPolicy) {
fileNamePattern = "/var/log/tomcat/project-%d{yyyy-MM-dd}.%i.log"
timeBasedFileNamingAndTriggeringPolicy(SizeAndTimeBasedFNATP) {
maxFileSize = "50MB"
}
}
encoder(PatternLayoutEncoder) {
pattern = "%gray(%d{yyyy-MM-dd}) %cyan(%d{HH:mm:ss}).%yellow(%d{SSS}) %highlight(%-5level) %green(%logger{36}) - %msg%n"
}
}
appender("async", AsyncAppender) {
appenderRef('fileAppender')
}
root(INFO, ["async"])