BeeBase

Programmable relational database
with graphical user interface Support This Project
This page is also available in English Français

Handbuch

Die folgende Dokumentation ist Bestandteil der BeeBase-Distribution und gibt es auch als PDF.


[ << ] [ >> ]           [Anfang] [Inhalt] [Index] [ ? ]

8. Log

In diesem Kapitel findet man:


8.1 Log-Tabelle

Für das Protokollieren von Änderungen verwaltet BeeBase eine interne Tabelle mit dem Namen `_Log'. Zu beachten ist der Unterstrich als erstes Zeichen, was bedeutet, dass diese Tabelle eine von BeeBase verwaltete Systemtabelle ist, die nicht geändert werden kann. Die Tabelle enthält die folgenden Felder:

 

Name               Beschreibung

`_Label'           Ein Feld, welches mittels Menüpunkt `Log - Logbeschriftung setzen' eingegeben,
                   oder durch eine Auslösefunktion mit dem Namen logLabel berechnet werden kann
                   (siehe  Logbschriftung setzen).
`_Date'            Datum des Logeintrags.
`_Time'            Uhrzeit des Logeintrags.
`_Action'          Ausgeführte Aktion: entweder `New record', `Delete record' oder `Change value'.
`_Table'           Name der Tabelle, in welcher die Änderungsaktion ausgeführt wurde.
`_Record'          Nummer des Datensatzes, in welchem die Aktion ausgeführt wurde zum Zeitpunkt 
                   der Änderung.  Zu beachten ist, dass die Datensatznummer sich ändern kann,
                   wenn Datensätze hinzugefügt oder gelöscht werden, oder wenn Datensätze 
                   in einer Tabelle neu sortiert werden.
`_Description'     Beschreibung des Datensatzes, in welchem die Aktion ausgeführt wurde.
                   Die Datensatzbeschriftung kann im Tabellenobjekt spezifiziert werden
                   (siehe  Tabellenobjekteditor).
`_Field'           Falls die Aktion den Eintrag `Change value' hat, dann enthält dieses Feld
                   den Namen des Tabellenfelds, welches geändert wurde.
`_OldValue'        Alter Wert des Datensatzfelds (für Aktion `Change value').
`_NewValue'        Neuer Wert des Datensatzfelds (für Aktion `Change value').

Auf die `_Log'-Tabelle kann wie auf jede andere Tabelle eines Projekts zugegriffen werden. Z.B. kann eine Select-from-where-Abfrage

 
SELECT * from _Log

im Abfrageeditor ausgeführt werden, umn eine Liste aller Änderungen zu erhalten (siehe Select-from-where Abfragen und Abfrageeditor).


8.2 Protokollieren aktivieren

Zu Anfang ist das Protokollieren in einem Projekt nicht aktiv. Um das Protokollieren von Änderungen zu starten, wählt man Menüpunkt `Log - Protokollieren aktiv'. Der Zustand dieses Menüpunkts wird in der Projektdatei gespeichert, so dass, einmal aktiviert und gespeichert, Änderungen weiterhin protokolliert werden, wenn das Projekt wieder geöffnet wird. Man deaktiviert den Menüpunkt, um das Protokollieren zu stoppen.

Zu beachten ist, dass nur für die Tabellen und Felder Änderungen protokolliert werden, für welche die Eigenschaft `Protokolliere Änderungen' gesetzt wurde (siehe Tabellen erstellen und Felder erstellen). Die Änderungen, die protokolliert werden, sind das Anlegen eines neuen Datensatzes, das Löschen eines Datensates und das Ändern eines Felds in einem Datensatz. Für jede dieser Aktionen wird ein neuer Logeintrag erstellt und in die `_Log'-Tabelle hinzugefügt, sofern der Protokoll-Modus in das Projekt erfolgt (siehe Protokoll-Modus). Ist der Protokoll-Modus auf eine Logdatei gesetzt, dann werden auch der Beginn einer Transaktion, Abschluss (Commit) und Rollback einer Transkation geschrieben.


8.3 Protokoll-Modus

Der Protokoll-Modus wird im Menüpunkt `Log - Protokoll-Modus' auf eine der folgenden Möglichkeiten festgelegt:

Die Protokoll-Modi, welche in eine externe Logdatei schreiben, sind nützlich, um Änderungen zu verfolgen sollte jemals die Projektdatei kaputt gehen. Siehe Änderungen anwenden für Informationen wie dies benutzt werden kann, um ein Projekt von einer Sicherheitskopie zu restaurieren.


8.4 Logdatei wählen

Die Auswahl einer externen Logdatei erfolgt mit dem Menüpunkt `Log - Logdatei wählen'. Dies öffnet eine Dateiauswahl für die Eingabe eines Dateinamens. Existiert die Datei bereits, dann werden Änderungen an die Datei angehängt.


8.5 Logbeschriftung setzen

Die `_Log'-Tabelle hat ein Feld `_Label', das beliebig durch das Projekt gesetzt werden kann. Wählt man Menüpunkt `Log - Logbeschriftung setzen', so erscheint ein Dialogfenster für die Eingabe das Beschriftungstexts.

Es ist auch möglich die Beschriftung durch eine Programmfunktion anzugeben. Die Funktion muss den Namen logLabel haben und wird für jeden neuen Logeintrag aufgerufen. Die Funktion hat keine Argumente und der zurückgegebene Ausdruck wird in eine Zeichenkette umgewandelt und als Beschriftungstext verwendet. Für weitere Informationen über diese Auslösefunktion, siehe logLabel.

Zu beachten ist, dass falls eine Funktion logLabel vorhanden ist, der Menüpunkt `Log - Logbeschriftung setzen' deaktiviert ist.


8.6 Log importieren

Es ist möglich Logeinträge aus einer externen Datei zu importieren. Dies kann nützlich sein, wenn ältere Logeinträge gelöscht wurden. Nach Wahl des Menüpunkts `Log - Importiere Log' erscheint ein Fenster, das den Import von Datensätzen der `_Log'-Tabelle ermöglicht. Siehe Datensätze importieren für eine Beschreibung aller Importoptionen.


8.7 Log exportieren

Wird die `_Log'-Tabelle groß, so kann es nützlich sein, ältere Logeinträge in eine externe Datei auszulagern. Um dies zu tun wählt man Menüpunkt `Log - Exportiere Log'. Dies öffnet ein Fenster für den Export der Datensätze der `_Log'-Tabelle in eine Datei. Siehe Datensätze exportieren für eine Beschreibung aller Exportoptionen.


8.8 Log löschen

Um alle Logeinträge zu löschen, wählt man Menüpunkt `Log - Log löschen'. Ein typischer Fall für das Löschen aller Logeinträge ist, wenn die `_Log'-Tabelle zu groß wird. Stellen Sie sicher, dass alle Einträge in eine externe Datei exportiert wurden, bevor das Log geleert wird.


8.9 Änderungen anwenden

Menüpunkt `Log - Änderungen anwenden' erlaubt es Änderungen von einer externen Datei zu importieren und auf das Projekt anzuwenden. Siehe Datensätze importieren für eine Beschreibung aller Importoptionen. Änderungen, welche bereits in der `_Log'-Tabelle enthalten sind, werden übersprungen.

Diese Funktion ermöglicht es ein möglicherweise kaputtes Projekt von einer Sicherheitskopie aus mittels der Änderungen in der Logdatei wieder herzustellen. Die Idee ist, da Änderungen in die externe Logdatei geschrieben werden, sollte das Projekt jemals kaputt gehen, dann können diese Änderungen auf eine vorher erstellte Sicherheitskopie des Projekts angewendet werden.

Es gibt zwei mögliche Strategien die verwendet werden können, abhängig vom Protokoll-Modus (siehe Protokoll-Modus):


8.10 Log ansehen

Für das Ansehen der protokollierten Änderungen wählt man Menüpunkt `Log - Log ansehen'.

Ist der Protokoll-Modus (siehe Protokoll-Modus) `In Projekt' oder `In Projekt und Datei', dann wird der Abfrageeditor mit einer vordefinierten Abfrage geöffnet, welche alle Logeinträge auflistet. Man kann die Abfrage modifizieren und den Titel ändern, und BeeBase merkt sich die Abfrage. Für weitere Informationen, siehe Abfrageeditor.

Ist der Protokoll-Modus `In Datei', dann wird der externe Anzeiger (siehe Externer Anzeiger) mit der Logdatei angezeigt.


[ << ] [ >> ]           [Anfang] [Inhalt] [Index] [ ? ]

Dieses Dokument wurde am 30. September 2024 mit texi2html generiert.