Klasse java.util.logging.MemoryHandler | 1.4 |
java.lang.Object
|
+--java.util.logging.Handler
|
+--java.util.logging.MemoryHandler
Deklaration
public class MemoryHandler
extends java.util.logging.Handler
Beschreibung
Dieser Klasse repräsentiert einen Handler, der
Protokolleinträge im Hauptspeicher in einem internen Ringpuffer verwaltet.
In folgenden Situationen kann der Handler, die gepufferten Protokolleinträge einem
anderen Handler zur weiteren Verarbeitung übergeben:
- Wenn ein neuer Protokolleintrag eine höhere Log-Ebene als die Push-Ebene hat.
- Wenn die push()-Methode aufgerufen wird.
Bei der Erzeugung eines MemoryHandler werden folgende Properties
vom LogManager ermittelt, wenn nicht gesetzt werden die entsprechenden Default-Einstellungen
benutzt:
- java.util.logging.MemoryHandler.level
gibt die Default-Log-Ebene an
(voreingestellt ist Level.ALL).
- java.util.logging.MemoryHandler.filter
gibt den vollqualifizierten Klassenname des Filters an, der benutzt werden soll
(per Voreinstellung ist kein Filter gesetzt).
- java.util.logging.MemoryHandler.size
gibt die verwendete Puffergröße an (voreingestellt ist 1000).
- java.util.logging.MemoryHandler.push
gibt die verwendete Push-Ebene an (voreingestellt ist level.SEVERE).
- java.util.logging.MemoryHandler.target
gibt den vollqualifizierten Klassennamen des Handlers an, an den
die Protokolleinträge weitergeleitet werden.
(keine Voreinstellung verfügbar).
Konstruktoren im Detail
-
public MemoryHandler()
-
Erzeugt einen neuen MemoryHandler, der seine Einstellungen vomLogManager
ermittelt. Einstellungen, die nicht im LogManager
verfügbar sind, werden mit Default-Werten belegt.
-
public MemoryHandler(Handler target, int size, Level pushLevel)
-
Erzeugt einen neuen MemoryHandler, der seine Einstellungen vomLogManager
ermittelt mit Ausnahme der Push-Ebene und Puffergröße.
Einstellungen, die nicht im LogManager
verfügbar sind, werden mit Default-Werten belegt.
Methoden im Detail
-
public void close()
-
Schließt den Handler und gibt alle damit verbundenen Ressourcen frei.
Dadurch wird auch automatisch der Ziel-Handler geschlossen.
- Exception: SecurityException
- Wenn ein SecurityManager gesetzt ist und
der Aufruf keine
LoggingPermission"control" besitzt.
-
public void flush()
-
Bei Aufruf werden alle zwischengespeichernten Protokolleinträge verarbeitet.
Es ist zu beachten, dass bei der Verwendung des MemoryHandler
die zwischengepufferten Einträge durch Aufruf von push()
verarbeitet werden.
-
public synchronized Level getPushLevel()
-
Liefert die aktuelle Push-Ebene zurück.
-
public boolean isLoggable(LogRecord record)
-
Prüft, ob der übergebene Protokolleintrag durch diesen
Handler mit den aktuellen Einstellungen verarbeitet wird. Dabei wird
geprüft, ob die Verarbeitung durch die Log-Ebene oder durch einen
gesetzten Filter unterbunden wird.
-
public synchronized void publish(LogRecord record)
-
Schreibt einen Protokolleintrag in den internen Puffer, wenn
die Verarbeitung nicht durch die Log-Ebene oder einen Filter unterbunden wird.
Wenn die Push-Ebene größer oder gleich der Ebene des übergebenen Protokolleintrags ist,
werden alle zwischengepufferten Einträge durch Aufruf von push() geleert.
-
public synchronized void push()
-
Übegibt alle zwiscshengepufferten Protokolleinträge an den
Handler und leer anschließend den internen Puffer.
-
public void setPushLevel(Level newLevel)
-
Setzt die Push-Ebene.
Wenn ein Protokolleintrag verarbeitet wird, der eine höhere Ebene als die
Push-Ebene hat, werden alle zwischengepufferten Protokolleinträge durch Aufruf
von push() dem Handler übergeben und endgültig herausgeschrieben.
- Exception: SecurityException
- Wenn ein SecurityManager gesetzt ist und
der Aufruf keine
LoggingPermission"control" besitzt.
Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.