Java Logging

  • Beitrags-Autor:
  • Beitrags-Kategorie:Java
  • Beitrags-Kommentare:1 Kommentar

Beim Programmstart wird geprüft, ob im user.home schon ein Verzeichnis für die Anwendung angelegt wurde. Wenn nicht wird es an dieser Stelle nachgeholt. Im zweiten Schritt werden die Einstellungen fürs Logging geladen. Diese sind Bestandteil der Anwendung (und können später vom Anwender überschrieben werden).

[code lang=“java“]// Verzeichnis prüfen
File logDir = new File(System.getProperty(„user.home“) +
System.getProperty(„file.separator“) + „.app“);
if(! logDir.exists()) logDir.mkdir();
// Einstellungen laden
String res = „/my/app/logging.properties“;
InputStream is = getClass().getResourceAsStream(res);
LogManager.getLogManager().readConfiguration(is);[/code]

Die Einstellungen fürs Logging werden in einem Properties-File gespeichert. Folgendes Beispiel konfiguriert den FileHandler und legt für den ConsolenHandler einen SimpleFormatter fest. In der Darstellung wurde zur besseren Lesbarkeit java.util.logging durch jul ersetzt.

.level = OFF

handlers= jul.FileHandler, jul.ConsoleHandler

jul.FileHandler.level = ALL
jul.FileHandler.pattern = %h/.app/my.log
jul.FileHandler.limit = 50000
jul.FileHandler.count = 3
jul.FileHandler.append = true
jul.FileHandler.formatter = jul.SimpleFormatter

jul.ConsoleHandler.level = ALL
jul.ConsoleHandler.formatter = jul.SimpleFormatter

my.app.MyClass.level = FINE

Erhält man eine Meldung wie Can’t set level for java.util.logging.ConsoleHandler hat man vielleicht nur ein Leerzeichen hinter dem Wert mit angegeben.

Um einen Logger nutzen zu können, leitet man diesem vom Root-Logger ab.

[code lang=“java“]private static java.util.logging.Logger logger =
java.util.logging.Logger.getLogger(„my.class.name“);[/code]

Webstart

Die Ausgabe einer Webstart-Anwendung wird unter %userdir%\Anwendungsdaten\Sun\Java\Deployment\log geschrieben. Vorausetzung ist, das das Protokollieren angeschaltet ist. Unter Start / Ausführen / javaws / Menü Bearbeiten / Einstellungen / Erweitert / Debugging kann die Protokollierung konfiguriert werden. Die Log-Datei javaws.log wird automatisch rotiert.

Links

Java Logging Overview

Logging in Tomcat 5.5

Dieser Beitrag hat einen Kommentar

  1. Shepherd

    >Erhält man eine Meldung wie Can’t set level for >java.util.logging.ConsoleHandler hat man vielleicht nur ein
    >Leerzeichen hinter dem Wert mit angegeben.
    Danke :)

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.