iTech Logging                        Features

   Die Logging-Lösung der 2. Generation

  


iTech Logging Feature Liste

 

Aufzählung

ITLogLib
ist eine robuste, leistungsfähige
Laufzeitbibliothek mit einem "easy-to-use" API für flexible und dynamische Ausgaben von Trace-, Debug- und Loginformationen.
ITLogLib gibt es in mehreren Varianten für verschiedene Programmiersprachen bzw. Programmierumgebungen. 

 
Aufzählung

ITConfigManager
ist ein Editor zur Konfiguration des Ausgabeverhaltens dieser Laufzeitbibliotheken.

 
Aufzählung

ITLogBook
ist eine innovative, leicht bedienbare Windows-Anwendung zur Auswertung der von ITLogLib ausgegebenen Daten.
Mit ITLogBook kann das Verhalten von Softwaresystemen sowohl "live" überwacht als zu einem späteren Zeitpunkt reproduziert werden.

 
Aufzählung

ITLogServer
ist die Server-Lösung für iTech Logging.

 


 

ITLogLib - Technische Details

 

Aufzählung

Unified API: Die objektorientierte Programmierschnittstelle der verschiedenen ITLogLib-Varianten ist nahezu identisch und versteckt alle technischen Details in einer sehr leistungsfähigen Implementierung. 
Sie besteht im Wesentlichen aus der Klasse ITLogMsg als Container für Protokollinformationen und der Klasse ITOutputLogChannel als logischem Empfänger dieser Logmeldungen (in Form von Ausgabekanälen / Logkanälen).

 

Aufzählung

ITLogMsg: Repräsentiert eine Logmeldung als Objekt mit Eigenschaften und Methoden. ITLogMsg-Objekte können als Funktionsparameter oder als Member in Ihren Klassen verwendet werden.

  • Struktur: Jedes Logmeldungs-Objekt hat einen Loglevel (Kombination der Stati Info, Warnung, Fehler und Alarm), einen automatisch vergebenen Zeitstempel, einen Modul- und Case-Bezeichner (zur Beschreibung des protokollierenden Softwaremoduls oder Subsystems bzw. des Usecases oder der Operation, in dessen Kontext die Logmeldung erzeugt wird), sowie einen frei definierbaren und ggf. mehrzeiligen Protokolltext von max. 64KB Länge.

  • Streaming-Operatoren (<<): Neben dem Loglevel kann auch der Logmeldungstext abhängig vom Kontrollfluss Ihrer Anwendung sukzessive ergänzt werden. Dazu stehen unter anderem elegant einsetzbare Streamoperatoren für verschiedene Basistypen in der C++-Variante der ITLogLib zur Verfügung

  • Explizite Ausgabekontrolle: die Ausgabe einer Logmeldung kann je nach Kontrollfluss innerhalb Ihres  Programmkodes explizit angestossen (Send-Operation) oder  verhindert werden (Cancel-Operation).

 

Aufzählung

Automatisches Memory Management: Der Logmeldungs-Klasse liegt eine Smartpointer-Technologie mit Reference-Counting zugrunde. Dadurch kommt es selbst unter C++ zu keinen Memory-Leaks (nicht frei gegebenem Speicher).
Darüber hinaus bietet Ihnen die Verwendung dieser Technologie noch zusätzlichen Komfort: Logmeldungsobjekte werden am Ende ihres Lebenszyklusses automatisch an ihre Empfänger gesendet, sogar im Falle des Auftretens von Exceptions. So gehen weder durch vergessenes Absenden der Logmeldungsobjekte noch durch das Eintreten kritischer Situationen Loginformationen verloren (die für die Auswertung meist besonders interessant sind).

 

Aufzählung

Mehrere Ausgabekanäle: ITLogLib bietet die Möglichkeit, für die Ausgabe der verschiedenen Logmeldungen unterschiedliche, logisch getrennte Ausgabekanäle für unterschiedliche Zwecke zu verwenden, z.B. für entwicklerbezogene interne Logmeldungen, spezielle Aufzeichnungen über Benutzerinteraktionen oder für statistische Informationen.

 

Aufzählung Text Output: Jeder einzelnen Ausgabekanal kann so konfiguriert werden, dass die Logmeldungen in Text-Format ausgegeben werden. Die entstandenen Logdateien können dann z.B. ganz einfach von MS Excel oder anderen Programmen importiert und weiterverarbeitet werden.

 

Aufzählung HTML Output: Jeder einzelnen Ausgabekanal kann so konfiguriert werden, dass die Logmeldungen in HTML-Format ausgegeben werden. So lassen Sie Ihre Anwendung ganz einfach Webseiten (z.B. spezielle Reports) erzeugen, die dann auch über das Internet angesehen werden können.

 

Aufzählung XML Output: Jeder einzelne Ausgabekanal kann so konfiguriert werden, dass die Logmeldungen im XML-Format ausgegeben werden. Damit können Sie jetzt Ihre generierten Logmeldungen auch in anderen XML-Anwendungen weiterverarbeiten.

 

Aufzählung Output Templates: Das Layout für Text- oder HTML-Logfiles (getrennt für jeden Ausgabekanal) kann dynamisch angepasst werden. ITLogLib stellt einen flexiblen Mechanismus zur Formattierung der generierten Loginformationen in Form von Templates (Vorlagen) bereit. Über den ITConfigManager können solche Vorlagen erzeugt werden, die Sie mit gewöhnlichen Text- oder HTML-Editor anpassen und den einzelnen Ausgabekanälen der ITLogLib per Konfiguration zuordnen können.

 

Aufzählung Logserver Output: Jeder Ausgabekanal kann so konfiguriert werden, dass er seine Logmeldungen an einen Logserver (ITLogServer) sendet, anstatt sie direkt in Logdateien zu schreiben.

 

Aufzählung

Dynamische Ausgabe-Filterung: Die Ausgabe von Logmeldungen kann über Konfiguration zur Laufzeit selektiv oder komplett aktiviert und deaktiviert werden, d.h. es ist keine Quellkodeänderung oder Rekompilation notwendig.

 

Aufzählung

Strukturierter LogStore: iTech Logging unterstützt die dateibasierte Speicherung von Loginformationen. Für jeden Ausgabekanal wird ein eigener Verzeichnisbaum auf der Festplatte aufgebaut. Pro Tag und Programmstart wird ein eigenes Unterverzeichnis erzeugt, in dem die Logdateien sinnvoll benannt abgelegt werden. Die Struktur unterstützt das schnelle Auffinden der gewünschten Logdateien auch durch herkömmliche Dateiverwaltungstools. Der dateibasierte Ansatz hat zudem den Vorteil, dass die Logdateien beispielsweise über FTP kopiert, per E-Mail versendet oder in Archiven gesichert werden können.

 

Aufzählung

Ressourcen-Management: Um den Bedarf an Festplattenplatz für die Protokollierung zu begrenzen, kann für jeden dateibasierten Ausgabekanal die maximale Anzahl und Größe der Logdateien angegeben werden, die pro Programmlauf gespeichert werden sollen. Ein Auto-Delete-Mechanismus sorgt dafür, dass bei drohender Überschreitung die ältesten Logfiles gelöscht werden.
Über denselben Mechanismus kann auch gesteuert werden, wann Protokolle aus früheren Programmdurchläufen auf der Festplatte gelöscht werden sollen, d.h. ob und wie viele Neustarts ein Protokoll 'überleben' soll.

 

Aufzählung

Automatische Weiterleitung: Durch einfache Rekonfiguration - also ohne Änderungen am Quellkode - können die für einen Ausgabekanal bestimmten Logmeldungen automatisch an weitere Ausgabekanäle weitergeleitet werden. Deren Ausgabefilter bestimmen dann wiederum, ob eine weitergeleitete Logmeldung dort ausgegeben oder unterdrückt werden soll. Ein und dieselbe Logmeldung kann somit in verschiedenen Kontexten für unterschiedliche Zwecke ausgegeben werden.

 

Aufzählung

Entkoppelte Ausgabe: Der ITLogLib-Bibliothek liegt eine Multi-Threading-Architektur mit eigenen Worker-Threads für die verschiedenen Ausgabekanäle zugrunde. Die Ausgabekanäle puffern die Logmeldungen und geben sie zeitlich entkoppelt von der eigentlichen Anwendung aus.

 

Aufzählung

Online-Konfiguration: Die Parametrierung zur Steuerung des Ausgabeverhaltens der verschiedenen Ausgabekanäle erfolgt über eine Konfigurationsdatei. Änderungen an dieser Datei können bequem über den ITConfigManager erfolgen und werden von der ITLogLib zur Laufzeit berücksichtigt. Damit ist ein Neustart Ihrer Applikation nicht notwendig.

 

Aufzählung

High-Performance: ITLogLib ist in hohem Maße optimiert bezüglich des Laufzeitverhaltens . So werden beispielsweise Änderungen an einem Logmessage-Objekt ignoriert, wenn seine Ausgabe explizit durch eine Cancel-Operation oder durch einen gesetzten Ausgabefilter unterdrückt wurde.

 

Aufzählung

Thread-sichere Schnittstelle: ITLogLib ist thread-sicher, d.h. Logmeldungen können innerhalb der Anwendung in verschiedenen Threads erzeugt und an den selben Ausgabekanal gesendet werden.

 

Aufzählung

Prozedurale Schnittstelle: Neben der objektorientierten bietet die Bibliothek auch eine prozedurale Schnittstelle an. Über die Funktion QuickLog können Protokollinformationen quasi in einem Einzeiler (einzeiligen Befehl) ausgegeben werden. Beide Möglichkeiten können nach Bedarf auch parallel verwendet werden.
(Eine vollständig prozedurale Schnittstelle bietet die Variante ITLogLib/Win32 als Standard Windows DLL.)

 

Aufzählung

Royalty-free: Lizenzierte Benutzer können ITLogLib ohne zusätzliche Kosten mit Ihren Applikationen ausliefern.

 

 top

 


 

ITConfigManager - Technische Details

 

Aufzählung

Übersichtliches GUI: ITConfigManager präsentiert die Protokollierungsparameter in übersichtlicher Formularform, unter Verwendung von Eingabefeldern und Auswahllisten sowie Verzeichnis-Auswahl- und anderen Unterdialogen.

 
Aufzählung

Defaultwerte: Beim Ausfüllen der Parameter-Felder werden da, wo es sinnvoll ist, Defaultwerte angeboten.

 
Aufzählung

Konsistenzprüfungen: Die Parameter werden auf ihre Konsistenz hin überprüft.

 
Aufzählung

Online-Hilfe: ITConfigManager bietet eine detaillierte Online-Hilfe zu allen Felder und deren Bedeutung  sowie den zugrunde liegenden Konzepten und Konfigurationsmöglichkeiten.

 

 top

 


 

ITLogBook - Technische Details

 

Aufzählung

Intuitives GUI: ITLogBook hat eine leicht bedienbare graphische Benutzeroberfläche mit Toolbars, geteilten Fenstern, Kontextmenüs, Drag&Drop-Bedienung, Tastenkombinationen für die wichtigsten Operationen und einer kontextsensitiven Online-Hilfe.

 
Aufzählung

Drag and Drop Filterung: Filter und Logmeldungen werden übersichtlich in einem geteilten Fenster präsentiert. Filter werden dabei ganz einfach aktiviert, indem sie aus dem Filter- in das Logmessage-Fenster gezogen werden!

 
Aufzählung

Angepasster Datei-Öffnen-Dialog: Ein speziell an die (von ITLogLib generierte) Verzeichnisstruktur angepasster Dialog ermöglicht ein schnelles Auffinden und Öffnen der aktuell benötigten Logdatei.

 
Aufzählung

Logfile Merging: Logmeldungen aus zeitlich aufeinanderfolgenden Logdateien können per Knopfdruck angehängt und ungeachtet von Dateigrenzen visualisiert und gefiltert werden.

 
Aufzählung

Loglevel-Filterung: Über eine spezielle Toolbar können Logmeldungen, die eine bestimmte Loglevel-Statuskombination aufweisen (z.B. Warnung und Fehler), einfach per Knopfdruck herausgefiltert werden.

 
Aufzählung

Zeitstempel-Filterung: Über eine weitere Toolbar wird das Filtern von Logmeldungen, die bestimmten zeitlichen Kriterien genügen, unterstützt. So können sehr schnell alle Logmeldungen ab einem bestimmten Zeitpunkt oder bis zu einem bestimmten Zeitpunkt angezeigt werden. Auch eine Kombination ist möglich, so dass nur die Logmeldungen innerhalb eines bestimmten Zeit-Intervalls sichtbar sind.

 
Aufzählung

Mächtige benutzerdefinierte Filter: Neben den Standard-Filterarten (Loglevel- und Zeitstempel-Filterung) unterstützt ITLogBook auch benutzerdefinierte Filter:

  • Basisfilter: Benutzerdefinierte Filter können über beliebige Kombinationen aus Modul- und Case-Bezeichnern sowie Teilzeichenketten (Suchstrings) innerhalb der Logmeldungstexte definiert werden.

  • Verknüpfung und Referenzierung: Die Basisfilter können über die Operatoren AND, OR und NOT miteinander verknüpft und mit Filternamen versehen werden. Durch diese Benennung ist auch eine Referenzierung von Filtern untereinander möglich, was ein Maximum an Flexibilität ergibt. Insgesamt wird hiermit die Mächtigkeit beliebig komplexer logischer Ausdrücke in leicht nutzbarer Form bereit gestellt.

  • Graphische Repräsentation: Die Filter werden innerhalb des Filter-Fensters in Form von Hierarchien dargestellt. Eltern-Kind-Beziehungen repräsentieren dabei eine UND-Verknüpfung, Geschwister-Beziehungen eine ODER-Verknüpfung.

  • Drag & Drop - Operationen: Filter können über Drag & Drop definiert, organisiert und aktiviert werden.

  • Filter-Dateien: Die benutzerdefinierten Filter können in Dateien gespeichert und somit auch einfach transportiert werden, z.B. auf einen Kundenrechner für Vor-Ort-Analysen.

  • Kombinierte Filterungen: Benutzerdefinierte Filter können in Kombination mit den Standardfiltern (Loglevel- und Zeitstempel-Filterung) verwendet werden.

 
Aufzählung

Filterbasierte Auswahl: Benutzerdefinierte Filter können auch dazu verwendet werden, die durch sie spezifizierte Menge von Logmeldungen zu selektieren, ohne die vorher angezeigten (gefilterten oder ungefilterten) Logmeldungen auszublenden. Dabei bleiben für den Benutzer die zum jeweiligen Kontext gehörenden anderen Logmeldungen weiterhin sichtbar.

 
Aufzählung

Live-Beobachtung: Die protokollierende Anwendung kann in „Echtzeit“ beobachtet werden. Dabei kann der Programmablauf in unterschiedlichen Fenstern simultan unter verschiedenen Aspekten betrachtet werden (durch Öffnen verschiedener Logkanäle und/oder Aktivierung verschiedener Filter für einen Logkanal). So kann z.B. ein Fenster alle Warnungen, Fehler und Alarme anzeigen (Loglevel-Filterung), während ein anderes das aktuelle Ein-/Ausgabe-Verhalten zeigt

 
Aufzählung

Parallele Visualisierung: ITLogBook ermöglicht die gleichzeitige Visualisierung unterschiedlicher Logdateien – oder auch derselben Logdatei – in verschiedenen Fenstern. Dabei kann in jedem Fenster ein anderer Filter angewendet werden.

 
Aufzählung

Detail-Dialog: In einem speziellen Dialog können alle Details einer Logmeldung inklusive dem vollständigen, ggf. mehrzeiligen Logmeldungstext formatiert angezeigt werden. Innerhalb dieses Dialogs kann zwischen allen aktuell selektierten Logmeldungen navigiert werden, z.B. um kleine Unterschiede ähnlicher Logmeldungstexte schneller zu erkennen. (Wenn nur eine Logmeldung markiert ist, erfolgt die Navigation über alle (gefilterten) Einträge.)

 
Aufzählung

Fernzugriff: Der optimierte Zugriff kann auch auf Logdateien erfolgen, die auf anderen Rechnern liegen. Die Implementation kommt dabei auch mit kurzzeitigen Ausfällen der Netzwerkverbindung zurecht.

 
Aufzählung

Sicherung von Analyse-Ergebnissen: Analyse-Ergebnisse können in Form aller gefilterten oder alternativ aller selektierten Logmeldungen gesichert werden, z.B. um einen Fehler und seinen unmittelbaren Kontext zu dokumentieren.

 
Aufzählung Export von Logmeldungen: Analyse-Ergebnisse können als Textfiles oder Webseiten mit Ihrem speziellen Layout (für Header, Footer und Logmeldungen) exportiert werden. ITLogBook stellt für den Export denselben Templatemechanismus wie die ITLogLib bereit. ITLogBook erzeugt bei Bedarf ebenfalls Vorlagen für Sie, über die Sie das Layout der exportierten Logfiles festlegen können.

 
Aufzählung

Hohe Performanz: Das Öffnen, Filtern und Anzeigen der Logmeldungen wurde bezüglich Laufzeitverhalten optimiert, um schnelle Analysen auch für große Datenmengen zu ermöglichen.

 

 top

 


 

ITLogServer - Technische Details

 

Aufzählung ITLogServer Service: ITLogServer steht als Windows-Service zur Verfügung.
 
Aufzählung ITLogServerManager: Eine interaktive Benutzerschnittstelle zum ITLogServer Service wird über den ITLogServerManager bereitgestellt.
Über dieses Zusatzprogramm kann der Logging-Service beispielsweise explizit gestartet oder gestoppt werden. Auch können über dieses Programm die wichtigsten Statusmeldungen, wie z.B. die Anmeldung eines Clients oder das automatische Öffnen eines Server-Logchannels durch einen Client, eingesehen werden.

 
Aufzählung Autostart: Der ITLogServer wird bei Bedarf automatisch von seinen Clients (ITLogLib) gestartet.
 
Aufzählung

ITLogLib basiert: ITLogServer baut auf der ITLogLib auf und bietet damit dieselben leistungsfähigen Filter-, Konfigurations- und Ausgabemöglichkeiten, wie die ITLogLib:

  • Mehrere Ausgabekanäle: ITLogServer bietet die Möglichkeit, für die Ausgabe der verschiedenen Logmeldungen unterschiedliche, logisch getrennte Ausgabekanäle für unterschiedliche Zwecke zu verwenden, z.B. für entwicklerbezogene interne Logmeldungen, spezielle Aufzeichnungen über Benutzerinteraktionen oder für statistische Informationen.

  • Text Output: Jeder einzelnen Ausgabekanal kann so konfiguriert werden, dass die Logmeldungen in Text-Format ausgegeben werden. Die entstandenen Logdateien können dann z.B. ganz einfach von MS Excel oder anderen Programmen importiert und weiterverarbeitet werden.

  • HTML Output: Jeder einzelnen Ausgabekanal kann so konfiguriert werden, dass die Logmeldungen in HTML-Format ausgegeben werden. So lassen Sie Ihre Anwendung ganz einfach Webseiten (z.B. spezielle Reports) erzeugen, die dann auch über das Internet angesehen werden können.

  • XML Output: Jeder einzelne Ausgabekanal kann so konfiguriert werden, dass die Logmeldungen im XML-Format ausgegeben werden. Damit können Sie jetzt Ihre generierten Logmeldungen auch in anderen XML-Anwendungen weiterverarbeiten.

  • Output Templates: Das Layout für Text- oder HTML-Logfiles (getrennt für jeden Ausgabekanal) kann dynamisch angepasst werden. ITLogLib stellt einen flexiblen Mechanismus zur Formattierung der generierten Loginformationen in Form von Templates (Vorlagen) bereit. Über den ITConfigManager können solche Vorlagen erzeugt werden, die Sie mit gewöhnlichen Text- oder HTML-Editor anpassen und den einzelnen Ausgabekanälen der ITLogLib per Konfiguration zuordnen können.

  • Dynamische Ausgabe-Filterung: Die Ausgabe von Logmeldungen kann über Konfiguration zur Laufzeit selektiv oder komplett aktiviert und deaktiviert werden, d.h. es ist keine Quellkodeänderung oder Rekompilation notwendig.

  • Strukturierter LogStore: ITLogServer unterstützt die dateibasierte Speicherung von Loginformationen. Für jeden Ausgabekanal wird ein eigener Verzeichnisbaum auf der Festplatte aufgebaut. Pro Tag und Programmstart wird ein eigenes Unterverzeichnis erzeugt, in dem die Logdateien sinnvoll benannt abgelegt werden. Die Struktur unterstützt das schnelle Auffinden der gewünschten Logdateien auch durch herkömmliche Dateiverwaltungstools. Der dateibasierte Ansatz hat zudem den Vorteil, dass die Logdateien beispielsweise über FTP kopiert, per E-Mail versendet oder in Archiven gesichert werden können.

  • Ressourcen-Management: Um den Bedarf an Festplattenplatz für die Protokollierung zu begrenzen, kann für jeden dateibasierten Ausgabekanal die maximale Anzahl und Größe der Logdateien angegeben werden, die pro Programmlauf gespeichert werden sollen. Ein Auto-Delete-Mechanismus sorgt dafür, dass bei drohender Überschreitung die ältesten Logfiles gelöscht werden.
    Über denselben Mechanismus kann auch gesteuert werden, wann Protokolle aus früheren Programmdurchläufen auf der Festplatte gelöscht werden sollen, d.h. ob und wie viele Neustarts ein Protokoll 'überleben' soll.

  • Automatische Weiterleitung: Durch einfache Rekonfiguration können die für einen Ausgabekanal bestimmten Logmeldungen automatisch an weitere Ausgabekanäle weitergeleitet werden. Deren Ausgabefilter bestimmen dann wiederum, ob eine weitergeleitete Logmeldung dort ausgegeben oder unterdrückt werden soll. Ein und dieselbe Logmeldung kann somit in verschiedenen Kontexten für unterschiedliche Zwecke ausgegeben werden.

  • Online-Konfiguration: Die Parametrierung zur Steuerung des Ausgabeverhaltens der verschiedenen Ausgabekanäle erfolgt über eine Konfigurationsdatei. Änderungen an dieser Datei können bequem über den ITConfigManager erfolgen und werden von ITLogServer zur Laufzeit berücksichtigt. Damit ist ein Neustart des Servers nicht notwendig.

 

Aufzählung

Multi-Restart Logging: ITLogServer kann die Logausgaben einer Anwendung auch dann in denselben Logdateien zusammenfassen, wenn diese Anwendung mehrmals hintereinander gestartet wird. (Bei direkter ITLogLib-Ausgabe wird bei jedem Programmstart eine neue Logdatei begonnen.)

 

Aufzählung

Multi-Prozess Logging: ITLogServer kann die Logausgaben mehrerer, parallel laufender Anwendungen (Prozesse) zusammenführen und in dieselben Logdateien schreiben.

 

Aufzählung

Sprachunabhängigkeit: ITLogServer kann Logmeldungen unterschiedlicher Anwendungen zusammenführen, die in verschiedenen Programmiersprachen geschrieben wurden (und verschiedene ITLogLib-Varianten verwenden).

 

 top

 


[ Home ]

Copyright © 1999 - 2004  iTech Software GmbH