zu werfen Ich habe eine Springboot-Anwendung und beim Protokollieren mit Logback mit ich groovy Config bin immer folgende Fehlermeldung:Logback geben Fehler Kann nicht Objekt '3 GB' mit der Klasse 'java.lang.String' in die Klasse 'ch.qos.logback.core.util.FileSize'
Failed to instantiate [ch.qos.logback.classic.LoggerContext]
Reported exception:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '3 gb' with class 'java.lang.String' to class 'ch.qos.logback.core.util.FileSize'
at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:405)
at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:319)
Meine groovy Konfigurationsdatei:
import ch.qos.logback.classic.PatternLayout
import static ch.qos.logback.classic.Level.INFO
scan("60 seconds")
def LOG_PATH = "logs"
def LOG_ARCHIVE = "${LOG_PATH}/archive"
appender("RollingFile-Appender", RollingFileAppender) {
file = "${LOG_PATH}/rollingfile.log"
rollingPolicy(TimeBasedRollingPolicy) {
fileNamePattern = "${LOG_ARCHIVE}/Rainbow_Notifications.log%d{yyyy-MM-dd}.log"
maxHistory = 30
totalSizeCap = "3 gb"
}
encoder(PatternLayoutEncoder) {
pattern = "%msg%n"
}
}
logger("com.something", INFO, ["RollingFile-Appender"])
Hinweis: ich habe auch diese Strings versucht: als Dateigröße: 3gb
, 3 gb
, 3GB
, 3096mb
, 3096 mb
, 3096 MB
Es funktioniert auch für mich, danke. Aber warum in [diesem Artikel] (https://dzone.com/articles/logback-configuration-using-groovy) Autor String-Literal verwendet? –
@SergeyLinnik: Ich weiß es nicht. Ich werde fragen. –