log4J schreibt im Frühling nicht in eine bestimmte Protokolldatei Boot Microservice

8

Ich versuche, Log4j zu verwenden, um in eine lokale Protokolldatei in meinem Dateisystem zu schreiben.

Tatsächlich wurde die genaue Eigenschaftendatei aus einem anderen Projekt verwendet und der Name des obersten Verzeichnisses wurde so geändert, dass es mit dem Namen meiner App übereinstimmt. Das andere Projekt schreibt in die Datei "logs.log", aber es werden keine Inhalte gedruckt. Beide Projekte verwenden die gleiche Version von log4j.

pom.xml

%Vor%

Auf meinem Unix-basierten macOS habe ich in / var / log / gecodiert und folgendes gemacht:

%Vor%

Habe in myapp das folgende Setup überall:

%Vor%

myapp / src / main / resources / log4j.properties:

%Vor%

Verstehe nicht warum in:

%Vor%

Es ist keine logs.log-Datei vorhanden!

Ich verwende dies in einem Spring Boot 1.5.4.RELEASE, das ich mit folgendem Befehl erstellt habe:

%Vor%

Und dann laufen mit entweder:

%Vor%

oder

%Vor%

Würde mich freuen, wenn jemand mir eine bessere Eigenschaftendatei zur Verfügung stellen könnte oder sehen könnte, was ich falsch mache?

Danke, dass Sie sich die Zeit genommen haben, dies zu lesen.

    
PacificNW_Lover 12.09.2017, 02:36
quelle

2 Antworten

3

@Veeram hat Recht - die Logs werden von logback gedruckt, was mitkommt Frühlingsstiefel. Sie müssen es durch Log4j ersetzen. Jetzt ist es jedoch keine Option:

Von Spring Boot 1.4.0 Versionshinweise :

  

Die Log4j 1-Unterstützung wurde nach der Apache EOL-Ankündigung entfernt.

Ich schlage daher vor, dass Sie ein Upgrade auf Log4j 2 in Betracht ziehen.

P.S. Ich denke, Sie können immer noch Log4j 1.2 verwenden, aber in diesem Fall müssen Sie definieren und angeben, welche Abhängigkeiten vom Modul spring-boot-starter-logging ausgeschlossen werden sollen welches stattdessen hinzugefügt werden sollte. Ich habe ein Demo-Projekt eingerichtet, um Ihr Problem zu reproduzieren und hier ist die Liste der Abhängigkeiten in build.gradle (Ich benutze Gradle, aber ich denke, Sie bekommen einen Punkt):

%Vor%     
mxf 16.09.2017 16:23
quelle
1

Wie @mxf sagt, ist Logback jetzt das Standard-Logging-Subsystem in Spring Boot.

Obwohl Sie andere Logger konfigurieren können, würde ich empfehlen, bei Logback zu bleiben, da es sich wirklich um eine Welt handelt, in der die Protokollierung von Fehlern nicht möglich ist.

    
PaulNUK 21.09.2017 13:52
quelle

Tags und Links