Log4J Dateipfad dynamisch ändern

9

Ich möchte den Pfad und den Dateinamen meiner log4j Logdatei dynamisch ändern.

Ich habe viele Seiten gelesen und fast jeder sagt mir, dass ich Systemeigenschaften wie hier verwenden sollte: Wie ändert man die Protokolldatei log4j dynamisch?

>

Also sieht meine log4j.properties Datei so aus:

%Vor%

In meiner Hauptmethode werde ich meine neue Systemeigenschaft einstellen:

%Vor%

Aber ich bekomme nur einen Fehler:

%Vor%

Und wenn ich versuche, meine Set-System-Eigenschaft mit zu lesen:

%Vor%

gibt null zurück. Was mache ich falsch?

    
Metalhead89 07.08.2012, 12:59
quelle

3 Antworten

6

Ich glaube, du meintest "my.log" nicht "{my.log"

%Vor%

Ich kann mir nicht vorstellen, dass Sie das ändern können, sobald die Protokollierung begonnen hat, also müssen Sie dies so früh wie möglich in Ihrem Programm einstellen.

Übrigens: Sie können FileAppender so unterteilen, dass er sich so verhält, wie Sie möchten.

    
Peter Lawrey 07.08.2012, 13:03
quelle
1

Sie haben einen Schreibfehler: "{my.log" statt "my.log"

    
breezee 07.08.2012 13:04
quelle
0

Setzen Sie einfach die Eigenschaft, bevor Sie den Logger instanziieren. Sobald Sie die Logger-Einstellung initialisiert haben, ist die Eigenschaft nicht mehr wert. genau wie unten:

%Vor%     
Niket 27.08.2013 10:08
quelle

Tags und Links