Skip to content

Latest commit

 

History

History
39 lines (33 loc) · 1.91 KB

readme.md

File metadata and controls

39 lines (33 loc) · 1.91 KB

Generic Database Logger (GDL)

Zusammenfassung:

  • Funktion: Aufzeichnung und Visualisierung aller Datenbank-Veränderungen
  • Zweck: Logging, Debugging, Verstehen von Software und ihrer Datenbank

Einschränkungen:

  • Zugriff auf eingesetzte Datenbank nötig (Login mit ausreichend Rechten)
  • SQL und Treiber sind zurzeit auf Postgres abgestimmt, für andere DB: anpassen
  • Code geht von public-Schema aus, bei Nutzung eines anderen Schemas: anpassen

Aufbau/Funktionsweise:

  • Datenbank (SQL): Es werden Tabellen-Trigger erstellt, welche bei Veränderungen eine Logging-Funktion aufrufen. Diese speichert alle Veränderungen in einer Logging-Tabelle
  • Mini-API (Python): Ruft die Daten aus der Logging-Tabelle ab und stellt diese als JSON bereit
  • Webseite (HTML, CSS, JS): Ruft die JSON-Daten aus der API auf und visualisiert diese

Einmalige Einrichtung:

  • Python-Umgebung
    • Voraussetzungen: Python 3.11 und pip 23.3
    • Pakete installieren: pip install -r requirements.txt
  • Datenbank-Zugang
    • db_config_EXAMPLE.yml als db_config.yml kopieren
    • in neuer db_config.yml: Datenbank-Zugang eintragen
  • install.py ausführen, um Datenbank einzurichten:
    • Logging-Tabelle erstellen: sql/installation/create_log_table.sql
    • Logging-Funktion (deaktiviert) erstellen: sql/disable_logging.sql
    • Logging-Trigger erstellen: sql/installation/create_triggers.sql

Anwendung:

  • start_log.py ausführen, das Skript übernimmt folgende Schritte:
    • main.py starten, um die API zu aktivieren
    • sql/empty_log_table.sql ausführen (optional, um Log zu leeren)
    • sql/enable_logging.sql ausführen (Starten der Aufzeichnung)
    • Öffnen der Webseite view/index.html (optional)
  • die Aktion in der Software durchführen, die man aufzeichnen will
  • stop_log.py ausführen, übernimmt folgenden Schritt:
    • sql/disable_logging.sql ausführen (Stoppen der Aufzeichnung)
  • Webseite view/index.html aufrufen/aktualisieren