Roblet®-Development-Kit
2.2 (30Dez2015)
API für Module

genRob.genControl.modules
Interface Logger


public interface Logger

Eine Instanz diesen Typs dient einem Modul zum Loggen in das Logbuch des Roblet®-Servers.

Über ModuleContext.getLogger() kann sich ein Modul eine Instanz zur Laufzeit besorgen.

See Also:
Module2

Method Summary
 void log(Serializable part, Object instance, Serializable message)
          Erzeugt einen Log-Eintrag mit optionalem Teil, Instanz und Nachricht.
 

Method Detail

log

void log(Serializable part,
         Object instance,
         Serializable message)
Erzeugt einen Log-Eintrag mit optionalem Teil, Instanz und Nachricht.

Als Teil (part) wird üblicherweise eine Zeichenkette, wie z.B. "main", angegeben.

Instanz (instance) kann eine wirkliche Instanz einer Klassen sein oder auch eine Klasse.  Letzteres ist interessant, wenn man eine Klassenmethode hat und dann in deren Kontext natürlicherweise keine Klasseninstanz existiert.

Eine Nachricht (message) ist in den meisten Fällen einfach eine Zeichenkette (String) oder eine Zusammensetzung, die letztlich eine Zeichenkette ergibt.  Aber auch die meisten Ausnahmen sind serialisierbar und damit direkt als Nachricht verwendbar.

Teil und Nachricht müssen serialisierbar sein.  Dazu gehört auch, daß alle referenzierten Objekte serialisierbar sind.

Teil und Nachricht müssen alle Referenzen (und deren Referenzen und so fort) als final kennzeichnen.  Damit soll sichergestellt werden, daß ein Log-Eintrag nicht nachträglich (fälschlicherweise) verändert werden kann.

Wird beim Loggen festgestellt, daß o.g. Bedingungen nicht eingehalten werden, so wird die Object.toString()-Methode benutzt, um so einen String zu erzeugen, der dann stattdessen verwendet wird.  Ein die Nachricht interpretierendes Programm kann dann später die Nachricht u.U. nicht mehr speziell verarbeiten.  Die genannten Tests und gegebenenfalls Wandlungen geschehen im Kontext des loggenden Threads.

Jeder der Parameter darf null sein.

Parameters:
part - Teil des Moduls
instance - Instanz oder Klasse, wo der Fehler auftrat
message - Nachricht

Roblet®-Development-Kit
2.2 (30Dez2015)
API für Module

Copyright © 2001-2015, roblet®.org, Hagen Stanek, http://roblet.org/rdk