Logback Externalisierung

7

Momentan habe ich eine Logback-Konfigurationsdatei, d. h. logback.xml , was src/main/resources ist. Ich möchte das Protokollierungsniveau einstellen, aber ich will Kontrolle außerhalb des Krieges.

Eine Lösung, an die ich denken könnte, ist, sie in der Eigenschaftendatei zu externalisieren, sie beim Serverstart zu laden und den Platzhalter zu ersetzen. Gibt es einen besseren Weg? Können wir nicht logback.xml außerhalb der WAR-Datei behalten?

%Vor%

    
Pankaj 12.01.2013, 00:02
quelle

5 Antworten

8

Wenn Sie nur die Protokollebene ändern möchten, müssen Sie nicht die gesamte Datei überschreiben, Sie können dies tun:

%Vor%

Dann, wenn Sie die Systemeigenschaft festlegen:

%Vor%

Es überschreibt den Standard von 'INFO'.

    
David Roussel 18.02.2013 15:56
quelle
7

Ich schlage vor, dass Sie zwei Logback-Konfigurationsdateien verwenden. Die erste im Klassenpfad definiert als:

%Vor%

und Sie legen die gesamte Konfiguration in die andere. Logback wird beide Dateien nach Updates durchsuchen.

    
Assertnotnull 03.12.2014 22:15
quelle
5

Externe Eigenschaften sind eine Möglichkeit, die Protokollierungsstufe extern zu steuern. Logbacks Funktion Dateieinbindung ist eine weitere Funktion. Die Funktion zum automatischen Neuladen funktioniert übrigens für die enthaltenen Konfigurationsdateien, aber nicht für die Eigenschaftsdateien.

>     
Ceki 12.01.2013 00:09
quelle
4

Ich habe es geschafft, eine externe Konfigurationsdatei mit tomcat / Spring logback

zu erstellen

Kontextdatei von tomcat:

%Vor%

web.xml:

%Vor%

web-application-context.xml

%Vor%

Die Logback-Konfigurator-Klasse:

%Vor%

und schließlich die environment.properties

%Vor%     
OliverLJ 10.06.2013 09:13
quelle
0

Eine Möglichkeit, wie es für uns funktionierte, bestand darin, die Konfigurationsdatei wie unten zu externalisieren. Ignorieren Sie den Teil der Federprofile, wenn dies für Sie nicht zutrifft. Sobald Sie also die Konfiguration in logback-include.xml aktualisieren, sagen wir, indem Sie die Root-Ebene in info ändern, nimmt die Anwendung sie innerhalb von 30 Sekunden auf (konfigurierbar).

Referenz: Ссылка

web.xml
Wir haben Federprofile verwendet, aber es funktioniert auch ohne es.

%Vor%

logback.xml (im Klassenpfad)
Beachten Sie die debug="true" , die Ihnen sagen wird, wenn die Konfiguration aktualisiert wird.

%Vor%

logback-include.xml (externer Speicherort) Beachten Sie die Verwendung von <included> anstelle von Konfiguration. Verpasse diesen Teil nicht!

%Vor%     
code4kix 26.09.2017 19:23
quelle

Tags und Links