Klasse java.util.logging.Logger | 1.4 |
java.lang.Object | +--java.util.logging.Logger
Benannte Protokollierer werden vom Log-Manager in einem hierarchischen Namensraum verwaltet. Auf sie kann man jederzeit wieder über den Namen aus verschiedenen Klassen der Anwendung zugreifen. Ein Name besteht aus einer Zeichenkette, die durch Punkte in verschiedene Bereiche unterteilt wird, analog zur Struktur der Package-Namen in Java. Oft werden Package-Namen als Basis für die Namen der Protokollierer verwendet.Anonyme Protokollierer werden einmal erzeugt und die Anwendung ist selbst dafür verantwortlich, den Protokollierer innerhalb der Anwendung weiter zu reichen.Ein Protokollierer reicht die ihm übergebenen Protokolleinträge an die registrierten Handler weiter. Die Handler können eine bedingte Verarbeitung der Einträge durchführen (durch Filter) und unternehmen weitere Schritte (z. B. Speichern des Eintrags in einer Datei oder Verschicken des Eintrags über ein Netzwerk). Ein Protokollierer kann selbst nur eine Filterung nach Log-Ebene durchführen.Jeder Protokollierer hält einen Verweis auf den in der Hierarchie übergeordneten Protokollierer. Von ihm können einige Einstellungen übernommen werden.Zur Lokalisierung von Protokolleinträgen sind mit jedem Protokollierer Lokalisierungs-Ressourcen assoziiert. Die Nachricht selbst kann einen Schlüssel darstellen, oder Platzhalter enthalten die mit Parametern belegt werden. Bei der Verwendung von Parametern wird in der Regel die Formatierung mit java.text.MessageFormat durchgeführt.Insgesamt stellt ein Protokollierer fünf Gruppen von Methoden zur Protokollierung bereit: The logging methods are grouped in five main categories:
- log()-Methoden bekommen die Log-Ebene, Nachricht und optionale Parameter übergeben.
- logp()-Methoden sind wie die log()-Methoden aufgebaut, bekommen zusätzlich die Namen von Klasse und Methode übergeben, in denen Eintrag erzeugt wird.
- logrb()-Methoden sind wie die logp()-Methoden aufgebaut, besitzen aber außerdem einen Parameter zur übergabe der Lokalisierungs-Ressourcen.
- Für jede Log-Ebene ist gibt es eine Methode, die denselben Namen trägt und der Einfachheit halber benutzt werden kann, um einen Protokolleintrag mit einer bestimmten Log-Ebene zu erzeugen. So kann man z. B. mit der Methode warning() einen Protokolleintrag mit der Log-Ebene Level.WARNING erzeugen. Als Argument erwarten diese Methoden lediglich eine Nachricht.
- Zu Debugging-Zwecken wurden außerdem die Methoden entering() und exiting() definiert. Sie sollten benutzt werden, zum Erzeugen eines Eintrags beim Betreten bzw. Verlassen einer Methode.
Datenelemente | |
---|---|
public final static Logger | global |
Konstruktoren | |
---|---|
protected | Logger(String name, String resourceBundleName) |
Methoden | |
---|---|
public synchronized void | addHandler(Handler handler) |
public void | config(String msg) |
public void | entering(String sourceClass, String sourceMethod) |
public void | entering(String sourceClass, String sourceMethod, Object param1) |
public void | entering(String sourceClass, String sourceMethod, Object[] params) |
public void | exiting(String sourceClass, String sourceMethod) |
public void | exiting(String sourceClass, String sourceMethod, Object result) |
public void | fine(String msg) |
public void | finer(String msg) |
public void | finest(String msg) |
public static synchronized Logger | getAnonymousLogger() |
public static synchronized Logger | getAnonymousLogger(String resourceBundleName) |
public Filter | getFilter() |
public synchronized Handler[] | getHandlers() |
public Level | getLevel() |
public static synchronized Logger | getLogger(String name) |
public static synchronized Logger | getLogger(String name, String resourceBundleName) |
public String | getName() |
public Logger | getParent() |
public ResourceBundle | getResourceBundle() |
public String | getResourceBundleName() |
public synchronized boolean | getUseParentHandlers() |
public void | info(String msg) |
public boolean | isLoggable(Level level) |
public void | log(LogRecord record) |
public void | log(Level level, String msg) |
public void | log(Level level, String msg, Throwable thrown) |
public void | log(Level level, String msg, Object[] params) |
public void | log(Level level, String msg, Object param1) |
public void | logp(Level level, String sourceClass, String sourceMethod, String msg) |
public void | logp(Level level, String sourceClass, String sourceMethod, String msg, Object param1) |
public void | logp(Level level, String sourceClass, String sourceMethod, String msg, Object[] params) |
public void | logp(Level level, String sourceClass, String sourceMethod, String msg, Throwable thrown) |
public void | logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg) |
public void | logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object param1) |
public void | logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Throwable thrown) |
public void | logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object[] params) |
public synchronized void | removeHandler(Handler handler) |
public void | setFilter(Filter newFilter) |
public void | setLevel(Level newLevel) |
public void | setParent(Logger parent) |
public synchronized void | setUseParentHandlers(boolean useParentHandlers) |
public void | severe(String msg) |
public void | throwing(String sourceClass, String sourceMethod, Throwable thrown) |
public void | warning(String msg) |
Wenn der Protokollierer schon existiert und noch keine Lokalisierungs-Ressourcen zugewiesen wurden, werden die Ressourcen gesetzt. Wenn dem existenten Protokollierer bereits andere Ressourcen zugewiesen wurde, wird eine IllegalArgumentException ausgelöst.