Implementierung der Protokollierung

In diesem Kapitel werden stichwortartig einige typische Problemstellungen einer Protokollierung unter VisiWin aufgeführt. Die zentrale Frage ist: „Wo finde ich was?“. Hier geht es also um eine Überblick der Projektierungsschritte.

Aufgabe Projektierung
Variablenwertänderungen aufzeichnen Die Prozessvariablendefinitionen beinhalten den Parameter Wertänderungen im Protokollserver aufzeichnen. Wird dieser Parameter aktiviert, wird bei einer Wertänderung der Variablen ein entsprechender Eintrag in die Protokolldateien geschrieben.
Standort der Protokolldatei(en) festlegen In der Konfiguration des Protokollsystems (Knoten Protokollierung > Konfiguration im Projektexplorer) befinden sich Einstellungen zur Administration der Protokolldateien. Hier wird festgelegt, in welchem Verzeichnis und unter welchem Namen die Protokolldateien angelegt werden.
Weitere Protokollereignisse definieren und auslösen Die Definition eigener Protokollereignisse bezieht sich meist auf Vorgänge aus der Visualisierungsapplikation. Wann wurde welche Interaktion vom Bediener ausgeführt? Welche Kommentare oder zusätzlichen Informationen wurden dazu hinterlegt?

Die Definition dieser Ereignisse wird im Protokolleditor durch das Anlegen neuer Kategorien, Protokollereignisse und -parameter realisiert. Das Auslösen hingegen muss in der Applikation über Funktionen der Steuerelemente oder Quellcode implementiert werden.

  • Funktionen der Steuerelemente: In der Eigenschaft Events kann ein Steuerelementereignis mit der Systemfunktion Protokollierung > Log verknüpft werden.
  • Quellcode: Die statische Funktion LogManager.Log im Namensraum VisiWin.Logging löst das angegebene Protokollereignis aus.
Ansicht auf die aufgezeichneten Daten Das Steuerelement HistoricalLoggingList listet die aufgezeichneten Ereignisse aus den Protokolldateien auf. Sowohl Steuerelement, als auch Klasse beinhalten einen Filter.

Der programmatische Zugriff auf die Daten der Protokolldateien ist über die Methode GetHistoricalData der HistoricalLogging-Klasse möglich.