Java - Allgemein

Java Logging

Fürs Erste soll das einfache Beispiel eines Logging auf die Console reichen:

import java.util.logging.*;
 
public class LoggingDemo {
   static Logger LOGGER = Logger.getLogger("LoggingDemo");
   static Handler handler;
 
   public LoggingDemo() {
      // Console Handler erzeugen:
      handler = new ConsoleHandler();
 
      // Log Level des Handlers auf FINEST setzen:
      handler.setLevel(Level.FINEST);
      LOGGER.addHandler(handler);
      LOGGER.setUseParentHandlers(false);
 
      // Eine Log-Meldung ausgeben:
      LOGGER.finest("Juju, wir haben einen Log-Meldung erzeugt.");
   }
}




Das Logging kann auch über eine Datei logging.properties gesteuert werden.
Festlegen, von wo die Datei geladen werden soll:

try {
   String strLogPath = "/log/logging.properties";  // Ort von logging.properties festlegen
   File fileLog = new File(strLogPath);
   LogManager.getLogManager().readConfiguration(new FileInputStream(fileLog));
}catch (Exception e){
   e.printStackTrace();
}


Eine beispielhafte logging.properties:

#Handler festlegen:
#Der ConsoleHandler gibt die Log-Meldungen auf der Console aus:
handlers = java.util.logging.ConsoleHandler
#Es dürften auch mehrere Handler aktiv sein; hier Console- und FileHandler:
#handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler

#Festlegen des Default Loglevels:
.level= INFO

#Maximale Größe der Log-Datei in Byte:
java.util.logging.FileHandler.limit = 100000
#Anzahl der Dateien, die verwendet werden sollen:
java.util.logging.FileHandler.count = 1
#Der Formatter; legt die Formatierung der Ausgabe fest:
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.pattern = MyApplication.log


Auch der Stacktrace lässt sich loggen:

LOGGER.log(Level.SEVERE, "Message", e);

Es gibt folgende Methoden zum Loggen:
severe(msg)
warning(msg)
info(msg)
config(msg)
fine(msg)
finer(msg)
finest(msg)


Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007