Technische Konzepte: Logger
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739
Aus It2010-g1
Chge (Diskussion | Beiträge) (→Einleitung) |
Chge (Diskussion | Beiträge) (→Wo ist der Logger zu finden?) |
||
Zeile 6: | Zeile 6: | ||
== LogLevel == | == LogLevel == | ||
− | Für unser relativ kleines Projekt sind | + | Für unser relativ kleines Projekt sind nicht viele LogLevel notwendig. |
* Debug | * Debug | ||
− | Das DebugLevel ist für Meldungen gedacht die eher zum Programmablauf | + | Das DebugLevel ist für Meldungen gedacht, die eher zum Programmablauf gehören, um zu verstehen wie ein Fehler auftreten kann. Es muss hier also kein konkreter Fehler direkt damit in Verbindung stehen. |
* Info | * Info | ||
− | Das Info-Level ist für Informationen gedacht, die auch eher den Programmablauf protokollieren, aber auch für den Anwender von Bedeutung sind. ( | + | Das Info-Level ist für Informationen gedacht, die auch eher den Programmablauf protokollieren, aber auch für den Anwender von Bedeutung sind. (z.B. irgendwelche Verzweigungen, die zwar unvorhergesehen sind, das Programm aber durchaus weiterlaufen kann --> Eine Variable kann nicht gelesen werden, es wird eine StandardVariable benutzt) |
Das Info-Level ist standardmäßig eingestellt! | Das Info-Level ist standardmäßig eingestellt! | ||
* Error | * Error | ||
− | Wird ein Error geloggt, dann handelt es sich um einen kritischen Fehler, das Programm (oder die gerade benutzte Funktion) kann so nicht weiter benutzt werden. Ein Error manifestiert sich außerdem zusätzlich in einem Fehlerfenster, das dem Nutzer angezeigt wird. ( | + | Wird ein Error geloggt, dann handelt es sich um einen kritischen Fehler, das Programm (oder die gerade benutzte Funktion) kann so nicht weiter benutzt werden. Ein Error manifestiert sich außerdem zusätzlich in einem Fehlerfenster, das dem Nutzer angezeigt wird. (z.B. damit nicht einfach das Programm ohne Fehlermeldung abstürzt) |
== Auf welche Arten wird geloggt? == | == Auf welche Arten wird geloggt? == | ||
− | Der Logger gibt einerseits eine Meldung an die Konsole | + | Der Logger gibt einerseits eine Meldung an die Konsole, außerdem wird ein Log-File erstellt. |
− | + | In besonders kritischen Fällen wird zusätzlich ein GUI-Error-Fenster angezeigt, das dem Nutzer den Fehler direkt präsentiert. | |
− | An dieser Stelle soll | + | An dieser Stelle soll nochmals betont werden, dass wirklich nur geloggt wird, wenn das LogLevel stimmt. D.h. das LogLevel muss mindestens genauso "schlimm" sein oder noch "schlimmer" wie das, was im Logger definiert ist. |
Das LogLevel kann im laufenden Betrieb geändert werden. | Das LogLevel kann im laufenden Betrieb geändert werden. | ||
Zeile 26: | Zeile 26: | ||
== Welche Methoden stellt der Logger bereit? == | == Welche Methoden stellt der Logger bereit? == | ||
− | Es gibt | + | Es gibt verschiedene Methoden um z.B. das LogLevel oder den Dateipfad für die LogDatei zu ändern. |
− | Viel wichtiger sind die beiden Methoden zum eigentlichen | + | Viel wichtiger sind aber die beiden Methoden zum eigentlichen Loggen. |
− | + | Einerseits gibt es die Methode "log" mit 2 Parametern. Wird diese Methode verwendet wird nur das LogLevel benötigt für das diese LogNachricht bestimmt ist und mit dem zweiten Parameter wird die eigentliche LogMessage angegeben. | |
− | Über diese Methode hinaus gibt es die Methode "log" mit insgesamt 5 Parametern. Diese enthält die beiden, wie sie eben beschrieben wurden und zusätzlich verschiedene Angaben, die die Meldung näher spezifizieren. Es kann ein bestimmter "Header" für die Error Nachricht angegeben werden, die dem User | + | Über diese Methode hinaus gibt es die Methode "log" mit insgesamt 5 Parametern. Diese enthält die beiden, wie sie eben beschrieben wurden und zusätzlich verschiedene Angaben, die die Meldung näher spezifizieren. Es kann ein bestimmter "Header" für die Error Nachricht angegeben werden, die dem User grafisch bei einem Error präsentiert wird. Es kann ein Klassenname (als String) und eine Exception als Objekt übergeben werden. |
Sollte ein Parameter mit null oder leer ("") belegt sein, so wird dieser ignoriert. | Sollte ein Parameter mit null oder leer ("") belegt sein, so wird dieser ignoriert. | ||
== Wo ist der Logger zu finden? == | == Wo ist der Logger zu finden? == | ||
− | Der Logger ist Bestandteil des Jar-Files "tools", | + | Der Logger ist Bestandteil des Jar-Files "tools", das auch noch den ConfigManager beherbergt. |
Das Paket ist mit einer Classpath Variable bereits in unserem Projekt eingebunden. | Das Paket ist mit einer Classpath Variable bereits in unserem Projekt eingebunden. | ||
− | Er kann einfach mit Logger.xx (xx für die entsprechende Methode) benutzt werden. Wobei aufgepasst werden muss dass auch unser Logger verwendet wird (Auswahlliste in Eclipse). Da der Logger statisch ist muss nichts initialisiert werden. Es sollte aber das LogLevel nur an einer zentralen Stelle geändert werden (z. | + | Er kann einfach mit Logger.xx (xx für die entsprechende Methode) benutzt werden. Wobei aufgepasst werden muss, dass auch unser Logger verwendet wird (Auswahlliste in Eclipse). Da der Logger statisch ist muss nichts initialisiert werden. Es sollte aber das LogLevel nur an einer zentralen Stelle geändert werden. (z.B. gleich in der Starter-->main) |
− | Der Logger benutzt Standardmäßig das LogLevel INFO | + | Der Logger benutzt Standardmäßig das LogLevel INFO. |