de.bsvrz.sys.funclib.debug
Class DebugFormatterXML

java.lang.Object
  extended by java.util.logging.Formatter
      extended by de.bsvrz.sys.funclib.debug.DebugFormatterXML

public class DebugFormatterXML
extends Formatter

Formatiert die Debugmeldungen für die XML-Ausgabe. Folgende DTD liegt der Ausgabe zugrunde:


 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!ELEMENT DebugAusgabe (LfdNr, Zeitpunkt, DebugLevel, MeldungsText, DebugLogger, ThreadID)>
 <!ELEMENT DebugLevel (#PCDATA)>
 <!ELEMENT DebugLogger (#PCDATA)>
 <!ELEMENT LfdNr (#PCDATA)>
 <!ELEMENT MeldungsText (#PCDATA)>
 <!ELEMENT ThreadID (#PCDATA)>
 <!ELEMENT Zeitpunkt (#PCDATA)>
 <!ELEMENT debug (DebugAusgabe+)>
 

Author:
Hans Christian Kniß (HCK)

Field Summary
private static DateFormat _absoluteMillisecondsFormat
          Formatstring für das Ausgabeformat des Zeitstempels.
private static DecimalFormat _numberFormat
          Formatstring mit Angabe für die Formatierung der Zahlenausgaben für die lfdNr der Meldung und die ThreadId.
private static String NEWLINE
          Systemabhängig zur Laufzeit ermittelter String für den Zeilenumbruch.
 
Constructor Summary
DebugFormatterXML()
           
 
Method Summary
 String format(LogRecord lr)
          Liefert einen String der Debuginformationen im XML-Format mit dem XML-Element DebugAusgabe:
 String getHead(Handler h)
          Gibt am Anfang einer Datei einmalig den notwendigen XML-Kopf aus.
 String getTail(Handler h)
          Gibt am Ende der Datei die abschliessenden XML-Elemente aus.
 
Methods inherited from class java.util.logging.Formatter
formatMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_absoluteMillisecondsFormat

private static final DateFormat _absoluteMillisecondsFormat
Formatstring für das Ausgabeformat des Zeitstempels. Ausgabe erfolgt mit Datum, Uhrzeit, Millisekunden und Zeitoffset zur Zeitangabe in UMT.


_numberFormat

private static final DecimalFormat _numberFormat
Formatstring mit Angabe für die Formatierung der Zahlenausgaben für die lfdNr der Meldung und die ThreadId.


NEWLINE

private static final String NEWLINE
Systemabhängig zur Laufzeit ermittelter String für den Zeilenumbruch. Daduch wird idie Meldungsausgabe plattformunabhängig.

Constructor Detail

DebugFormatterXML

public DebugFormatterXML()
Method Detail

format

public String format(LogRecord lr)
Liefert einen String der Debuginformationen im XML-Format mit dem XML-Element DebugAusgabe:

 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!ELEMENT DebugAusgabe (LfdNr, Zeitpunkt, DebugLevel, MeldungsText, DebugLogger, ThreadID)>
 <!ELEMENT DebugLevel (#PCDATA)>
 <!ELEMENT DebugLogger (#PCDATA)>
 <!ELEMENT LfdNr (#PCDATA)>
 <!ELEMENT MeldungsText (#PCDATA)>
 <!ELEMENT ThreadID (#PCDATA)>
 <!ELEMENT Zeitpunkt (#PCDATA)>
 <!ELEMENT debug (DebugAusgabe+)>
 

Specified by:
format in class Formatter
Parameters:
lr - LogRecord mit den Informationen einer Meldung.
Returns:
Gibt ein XML-Element mit den im LogRecord übergebenen Informationen aus.

getHead

public String getHead(Handler h)
Gibt am Anfang einer Datei einmalig den notwendigen XML-Kopf aus.

Overrides:
getHead in class Formatter
Parameters:
h - Handler der den Formatter aufgerufen hat. Wird nicht verwendet.
Returns:
String mit XML-Kopf:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <!DOCTYPE debug SYSTEM "debug.dtd"> <debug> .

getTail

public String getTail(Handler h)
Gibt am Ende der Datei die abschliessenden XML-Elemente aus. Wird der Prozess nicht normal terminiert, kann diese abschliessende Information in der Datei fehlen. Das XML-Dokument ist dann nicht "wohlgeformt".

Overrides:
getTail in class Formatter
Parameters:
h - Handler der den Formatter aufgerufen hat. Wird nicht verwendet.
Returns:
String mit abschliessendem .