Ich versuche Spring Boot arbeiten mit Logback zu bekommen und bin in einem Fehler/Problem, dass ich nicht herausfinden kann.Spring Boot App Probleme mit logback.groovy Config-Datei
Um dieses Problem vollständig zu reproduzieren, ich Spring Boot Example repo auf GitHub erstellt, aber im Wesentlichen, das ist mein application.yml
:
logging:
config: 'logback.groovy'
server:
port: 9200
error:
whitelabel:
enabled: false
Und mein logback.groovy
:
statusListener(OnConsoleStatusListener)
def LOG_PATH = '/opt/springbootexample/logs/springbootexample'
appender('CONSOLE', ConsoleAppender) {
encoder(PatternLayoutEncoder) {
pattern = '%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n'
}
}
appender('FILE', FileAppender) {
file = "${LOG_PATH}.log"
encoder(PatternLayoutEncoder) {
pattern = '%msg%n'
outputPatternAsHeader = true
}
}
appender('ROLLING', RollingFileAppender) {
encoder(PatternLayoutEncoder) {
Pattern = '%d %level %thread %mdc %logger - %m%n'
}
rollingPolicy(TimeBasedRollingPolicy) {
fileNamePattern = "${LOG_PATH}-%d{yyyy-MM}.zip"
maxHistory = 30
totalSizeCap = '1KB'
}
}
root(INFO, ["CONSOLE", "ROLLING"])
ich sicher gemacht habe dass /opt/springbootexample/logs
existiert Ich lief chmod -R 777 /opt/springbootexample
so meine Spring Boot App sollte kein Problem haben, erstellen Sie dort Log-Dateien und Schreiben an sie.
Wenn ich die App lokal ausführen, erhalte ich keine Fehler/Ausnahmen/Warnungen; In der Konsolenausgabe sieht alles ganz gut aus. Ich feuere dann einen Browser an und deute auf http://localhost:9200
, der eine einfache Dummy-Nachricht zurückgeben soll, aber nichts passiert. Schlimmer noch, es passiert auch nichts in der Konsole.
Der einzige Hinweis ist, dass, nachdem ich die App heruntergefahren habe, wenn ich /opt/springbootexample/logs/springbootexample.log
gehen, ihr Inhalt ist:
#logback.classic pattern: %msg%n
Was mir sagt, dass vielleicht ist es falsch konfiguriert etwas in meinem logback.groovy
‚s FileAppender
vielleicht ? Irgendwelche Ideen/Gedanken?