Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Sprachbeschreibung
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Mathematisches
6 Eigene Klassen schreiben
7 Angewandte Objektorientierung
8 Exceptions
9 Die Funktionsbibliothek
10 Threads und nebenläufige Programmierung
11 Raum und Zeit
12 Datenstrukturen und Algorithmen
13 Dateien und Datenströme
14 Die eXtensible Markup Language (XML)
15 Grafische Oberflächen mit Swing
16 Grafikprogrammierung
17 Netzwerkprogrammierung
18 Verteilte Programmierung mit RMI und Web-Services
19 JavaServer Pages und Servlets
20 Applets
21 Midlets und die Java ME
22 Datenbankmanagement mit JDBC
23 Reflection und Annotationen
24 Logging und Monitoring
25 Sicherheitskonzepte
26 Java Native Interface (JNI)
27 Dienstprogramme für die Java-Umgebung
A Die Begleit-DVD
Stichwort

Download:
- ZIP, ca. 12,5 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren mit der Java Standard Edition Version 6
Buch: Java ist auch eine Insel

Java ist auch eine Insel
7., aktualisierte Auflage
geb., mit DVD (November 2007)
1.492 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1146-8
Pfeil 24 Logging und Monitoring
Pfeil 24.1 Die Logging-API
Pfeil 24.1.1 Einfaches Logging
Pfeil 24.1.2 Log-Level
Pfeil 24.1.3 Logging in eine Datei
Pfeil 24.2 Überwachen von Systemzuständen
Pfeil 24.3 MBean-Typen, MBean-Server und weitere Begriffe
Pfeil 24.3.1 MXBeans des Systems
Pfeil 24.4 Geschwätzige Programme und JConsole
Pfeil 24.4.1 JConsole
Pfeil 24.5 Der MBeanServer
Pfeil 24.6 Eine eigene Standard-MBean
Pfeil 24.6.1 Management-Schnittstelle
Pfeil 24.6.2 Implementierung der managed Ressource
Pfeil 24.6.3 Anmeldung beim Server
Pfeil 24.6.4 Eigene Bean in JConsole
Pfeil 24.6.5 JMX mit RMI-Adaptor
Pfeil 24.7 Zum Weiterlesen

Die Reparatur alter Fehler kostet oft mehr als die Anschaffung neuer. – Wieslaw Brudzinski

24 Logging und Monitoring

Nicht nur in der Informatik ist der rasante Wechsel der Technologien zu beobachten. Ein Beispiel ist das Automobil, das in den letzten 100 Jahren tiefgreifende Änderungen durchmachte. Von den vielen Schlagwörtern sind ESP und ABS nur zwei, die zudem eine Elektrifizierung bedeuten. Die Komponenten eines Autos sind vernetzt, und Signalgeber melden in Echtzeit Informationen an elektronische Steuereinheiten (Electronic Control Units, ECU). In modernen Kraftfahrzeugen werten fast 100 ECUs mehr als 1 GB an Daten pro Sekunde aus. Damit verschiebt sich auch eine Fehlerquelle: Während früher schon eine Sicherung durchbrennen musste bleibt heute ein Auto schon stehen, wenn der Bordcomputer einen Fehler meldet. Auch in der Entwicklung ist das teuer: BMW gibt an, dass 40 % der Herstellungskosten auf Elektronik und Software anfallen.


Galileo Computing - Zum Seitenanfang

24.1 Die Logging-API Zur nächsten ÜberschriftZur vorigen Überschrift

Mit der Java-Logging-API lässt sich eine Softwaremeldung in eine XML- oder Textdatei schreiben, die sich dann zur Wartung oder zur Sicherheitskontrolle einsetzen lässt.


Galileo Computing - Zum Seitenanfang

24.1.1 Einfaches Logging Zur nächsten ÜberschriftZur vorigen Überschrift

Zum Schreiben der Informationen benötigen wir zunächst ein Logger-Objekt, das geholt werden kann über

Logger logger = Logger.getAnonymousLogger();

oder über Logger.getLogger(String name), wobei name in der Regel mit dem voll qualifizierte Klassenname belegt ist:

Logger logger = Logger.getLogger( Log1Demo.class.getName() );

Der Logger bietet diverse Methoden für unterschiedliche Ausgaben, etwa die Methoden log(), fine() und warning() an.

Listing 24.1 com/tutego/insel/logging/Log1Demo.java

package com.tutego.insel.logging; 
 
import java.io.IOException; 
import java.util.logging.*; 
 
public class Log1Demo 
{ 
  private static final Logger log = Logger.getLogger( Log1Demo.class.getName() ); 
 
  public static void main( String[] args ) throws IOException 
  { 
    log.fine( "Dann mal los." ); 
 
    try 
    { 
      ((Object) null).toString(); 
    } 
    catch ( Exception e ) 
    { 
      log.log( Level.WARNING, "oh oh", e ); 
    } 
 
    log.fine( "Ging alles glatt." ); 
  } 
}

Lassen wir das Beispiel laufen, folgt auf der Konsole die Warnung:

31.08.2007 10:02:18 com.tutego.insel.logging.Log1Demo main 
WARNUNG: oh oh 
java.lang.NullPointerException 
    at com.tutego.insel.logging.Log1Demo.main(Log1Demo.java:16)

Galileo Computing - Zum Seitenanfang

24.1.2 Log-Level Zur nächsten ÜberschriftZur vorigen Überschrift

Der Grund, dass nicht alle Log-Nachrichten sichtbar sind, liegt im Log-Level begründet. Damit verschiedene Detailgrade unterstützt werden, lässt sich über einen Level der Grad der Detaillierung festlegen. Sie reicht von FINEST bis SEVERE. Zur direkten Unterstützung der Levels wurden spezielle Methoden eingeführt, wie fine() oder warning(). Ein Log-Level, den setLevel(Level) setzt, gibt die Genauigkeit der Ausgaben an. Das Argument bestimmt, was sichtbar sein soll; wollen wir alles sehen, schreiben wir:

logger.setLevel( Level.ALL );

Galileo Computing - Zum Seitenanfang

24.1.3 Logging in eine Datei topZur vorigen Überschrift

Sollen Meldungen in eine Log-Datei geschrieben werden, so muss dem Logger-Objekt ein Handler zugewiesen werden, der für das Schreiben verantwortlich ist. Ein FileHandler speichert etwa die Dateien in eine Datei, ein ConsoleHandler gibt sie auf System.err aus.

FileHandler fh = new FileHandler( "log.xml.txt" ); 
log.addHandler( fh );

Um das Datenvolumen zu kontrollieren und einzuschränken, lassen sich die Logger oder Handler mit einem Filter versehen, der nur Ausschnitte aus dem Datenstrom schreibt. Und das Datenformat selbst kann zusätzlich mit Format-Objekten angepasst und lokalisiert werden, bevor sie der Logger in den Datenstrom schreibt.

Eine weitere Anpassung von Logging besteht darin, es von außen über Property-Dateien zu verfeinern. Die Dokumentation von Sun unter http://tutego.com/go/logging verrät mehr zu diesem Thema.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück



Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de