Wie zu Lesen log4j Ausgabe in eine web-Seite?

Ich habe eine web-Seite, verwendet für admin-Zwecke, die Ausführung einer Aufgabe (Bild-Installation von einem remote-Standort).
Um der Lage sein, um das Debuggen der Vorgang mit dem browser nur, kein ssh, etc, ich möchte in der Lage zu Lesen alle log-Ausgabe von dem ausgeführten thread und spucken es aus, um die web-Seite.
Die Aufgabe läuft darauf hinaus:

  1. Ändern der log-level für den aktuellen thread an den Anfang des Gesprächs und wiederherstellen, wenn der Aufruf erfolgt ist.
  2. Lesen alle log-Ausgabe von aktuellen thread und speichert diese in einem string.

Also in pseudocode mein execute () - Methode würde dann so Aussehen: (ich bin mit struts2)

public String execute() throws Exception {
  turnLoggingLevelToDebugOnlyForThisThread()
  ... do stuff...
  restoreLoggingLevelForThisThread()
  String logs = readAllLogsByThisThread();
}

Kann dies gemacht werden mit log4j?

Ich bin mit tomcat, struts2, log4j und slf4j.

EDIT 1: ich sollte anmerken, dass die motivation, um in der Lage zu sehen, die vorhandenen Protokolle auf einer web-Seite, ohne dass Sie neue log-Zeilen im code. Denken Sie an einen schönen web-debug-Schnittstelle, mit der Sie Ihren Betrieb und das Ergebnis spuckt die Protokolle der Vorgang.
EDIT 2: ich sollte auch beachten, dass ich bereits mit log4j (via slf4j) und eine log4j.xml also die Lösung die ich Suche muss Leben, neben der zurzeit logging-system, nicht ruinieren.

wie ändern Sie die log-level nur für den aktuellen thread?

InformationsquelleAutor Ran | 2010-03-31

Schreibe einen Kommentar