Spring Boot - keine log-Datei geschrieben werden (logging).Datei wird nicht beachtet)
Ich benutze Spring Boot und wollen es zu schreiben, log-Ausgabe in eine Datei.
Laut der docs, das geschieht einfach durch Einstellung
logging.file=filename.log
Während die Ausgabe in der Konsole funktioniert gut, filename.log
wird nicht erstellt. Auch, wenn ich manuell die Datei nichts geschrieben wird. Was vermisse ich?
InformationsquelleAutor der Frage Christoph Möbius | 2016-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe eine Lösung gefunden. Ich bin nicht sehr glücklich mit, da es immer noch keine Antwort auf meine ursprüngliche Frage, warum die
logging.file
Eigentum wird nicht respektiert.Habe ich die
logback-spring.xml
aus Georges' Antwort im selben Verzeichnis, woapplication.properties
befindet. Nach der Dokumentation Spring Boot wird Holen Sie es von dort. Offenbar geschieht dies nicht in meinem Fall.Ich muss außerdem hinzufügen
logging.config=classpath:logback-spring.xml
um es abgeholt wird von Frühling. Die relevanten Teile meinerapplication.properties
sind jetzt(Ich habe die
logs
Verzeichnis manuell.)InformationsquelleAutor der Antwort Christoph Möbius
Ich weiß nicht, ob dies würde helfen, Sie, aber ich bin auch mit Logback in meinem
Spring-Boot
Projekt und die Struktur ist wie folgtDatei: logback.xml
Datei: Anwendung.Eigenschaften
InformationsquelleAutor der Antwort Ravindran Kanniah
Hier ist, wie ich es geschafft zu schreiben, die Ausgabe in eine lokale Datei.
Zum deaktivieren der Konsole Protokollierung und Ausgabe nur in eine Datei müssen Sie eine benutzerdefinierte logback-spring.xml ( nennen wir es logback-spring.xml, so dass Sie ll nutzen Sie die Template-Funktionen (Datums Formatierung usw..) zur Verfügung gestellt von Booten), dass die Einfuhren file-appender.xml statt console-appender.xml. Um dies zu erreichen, müssen Sie fügen Sie diesen code unten in Ihre logback-spring.xml Datei.
Müssen Sie auch fügen Sie den folgenden auf Ihre Bewerbung.Eigenschaften:
Beachten Sie, dass diese log-Datei myapplication.melden Sie generiert wird springboot.
Dies ist, wie meine Anwendung Baumstruktur sieht wie folgt aus:
Wenn Sie möchten, um mehr Spaß zu haben, finden Sie die base.xml in Ihrem maven-Abhängigkeiten wie diese:
InformationsquelleAutor der Antwort georges van
Wenn Sie mit Maven die Abhängigkeit :
Jetzt haben Sie, um eine Datei anzugeben, die aufgerufen wird, 'log4j.Eigenschaften", die Sie haben, um in das jeweilige Verzeichnis : 'src/main/resources/log4j.Eigenschaften '
Hier ist, wie die Datei Aussehen sollte, zum Beispiel :
Nun importieren Sie diese :
Deklarieren Sie eine logger-variable, wie diese :
Und verwenden Sie es in der Klasse wie folgt aus :
Diese Weise funktioniert es für mich. Ich hoffe, dass diese Antwort wird dir helfen . Viel Glück !
PS: log4j.appender.Datei.Datei='Verzeichnis' ist, wie Sie angeben, wo die logs gespeichert werden. Wenn Sie nicht geben Sie ein Verzeichnis und lass es einfach wie mit dem Namen.log-diese Datei wird automatisch erstellt im Projekt verz.
InformationsquelleAutor der Antwort Lazar Lazarov
Ich hatte das gleiche problem. Es ist mehr als wahrscheinlich aufgrund der Zugriffsrechte auf das Dateisystem. Ich hatte den application-Ordner root gehören, aber ./Protokolle im Besitz des process owner. Als solche, die Folgendes hat nicht funktioniert:
Protokollierung.Datei=my.melden Sie
aber das hat
Protokollierung.file=/opt/myapp/logs/meine.melden Sie
InformationsquelleAutor der Antwort beaudet
Habe ich mich auf den Frühling-boot zur Verfügung gestellt logging-Mechanismus. Ich schrieb unten in mein 'logback.xml' Datei :
Ich die beiden Anwendung.Eigenschaften und logback.xml Datei unter dem gleichen Paket 'src/main/resources'.
In der Anwendung ist.properties-Datei nur Hinzugefügt, einen parameter :
Es funktionierte für mich vollkommen in Ordnung.
InformationsquelleAutor der Antwort Punit
In meinem Fall, ich habe eine Datei "logback.xml" in einer meiner sub-Modul, indem Sie Fehler, die verursacht dieses Problem, entfernen Sie es und alles wird gut.
InformationsquelleAutor der Antwort July
Wenn Sie auf Spring Boot, dann können Sie direkt fügen Sie folgende Eigenschaften in der Anwendung.Eigenschaften - Datei, um das logging-level,
passen Sie die Protokollierung Muster und zum speichern von Protokollen in der externen Datei.
Diese sind in unterschiedliche logging-Stufen und Ihre Reihenfolge von mindestens << maximale.
OFF << FATAL << ERROR << WARNEN << INFO << DEBUG << TRACE << ALLE
Gehen Sie bitte über diesen link anpassen, um Ihre Protokolle lebhafter.
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html
InformationsquelleAutor der Antwort Hardik Patel