Der Log Watcher ist ein kleines GUI-Tool zum Live-Anzeigen von Logdateien im Stil eines Tail-Views. Er überwacht in Echtzeit die Ausgaben von zwei Monitoring-Projekten und zeigt neue Einträge direkt in einer Tkinter-Oberfläche an.
Das ist ein einfacher Tail-Viewer für die Logdateien von:
- system_monitor
- network_monitor
Er verfolgt neue Einträge aus den laufenden Logs dieser Monitor-Tools und zeigt sie sofort in einer Übersicht an. So lässt sich der Betrieb schnell überwachen, ohne die Logdateien manuell im Terminal zu öffnen.
Dieser Watcher dient als Tail für:
- system_monitor
- netzwerk_monitor
Er liest die Logdateien dieser beiden Tools kontinuierlich aus und fasst relevante Einträge visuell zusammen. Dadurch lässt sich schnell erkennen, ob Fehler, Warnungen oder kritische Meldungen im laufenden Betrieb auftreten.
- Überwachung mehrerer Logdateien gleichzeitig
- Echtzeit-Anzeige neuer Zeilen
- Farbige Kennzeichnung nach Log-Level:
- INFO
- WARNING
- ERROR
- Filterung nach Schlüsselwörtern wie ERROR, CRITICAL, WARNING, Exception und FAIL
- Popup-Warnung bei kritischen Einträgen
- Kompakte GUI mit Scrollbereich für die Log-Ausgabe
Der Watcher sucht nach den Logs in den Projektordnern der beiden Monitore. Dabei werden sowohl die normalen Pfade als auch die dist/-Pfade der EXE-Versionen berücksichtigt:
- .../system_monitor/system_monitor.log
- .../system_monitor/dist/system_monitor.log
- .../netzwerk_monitor/netzwerk_monitor.log
- .../netzwerk_monitor/dist/netzwerk_monitor.log
Die Pfade sind in config.py konfigurierbar.
- main.py: Einstiegspunkt der Anwendung
- config.py: Konfiguration der Logpfade und Filter
- file_watcher.py: Log-Reader mit Tail-ähnlichem Verhalten
- filter_module.py: Prüfung auf relevante Schlüsselwörter
- gui_module.py: Benutzeroberfläche
- popup_module.py: Warnfenster für kritische Einträge
Linux:
cd .../log_watcher
python3 main.pyWindows PowerShell:
cd ...\log_watcher
python main.pyDie fertige Anwendung liegt nach dem Build in dist/:
- Linux:
dist/main - Windows:
dist/main.exe
Die EXE muss auf dem jeweiligen Zielsystem gebaut werden. Dazu im Projektverzeichnis ausführen:
Linux:
python3 -m pip install pyinstaller
python3 -m PyInstaller --clean --noconfirm main.spec
./dist/mainWindows PowerShell:
python -m pip install pyinstaller
python -m PyInstaller --clean --noconfirm main.spec
.\dist\main.exeDer Log-Watcher sollte gestartet werden, nachdem die Monitor-Anwendungen laufen. Angezeigt werden neue Logzeilen ab dem Start des Watchers.
[system_monitor.log] 2026-09-17 12:00:01 [INFO] Systemstatus normal
[network_monitor.log] 2026-09-17 12:00:02 [WARNING] Verbindung zum Gateway langsam
[system_monitor.log] 2026-09-17 12:00:03 [ERROR] CPU-Temperatur kritisch hoch
Der Log Watcher ist bewusst als Tail-Tool für die Logausgaben von system_monitor und netzwerk_monitor aufgebaut. Er zeigt also nicht selbst Logs an, sondern verfolgt die laufenden Ausgaben dieser Monitor-Programme in Echtzeit.
Falls die überwachten Logdateien noch nicht existieren, erzeugt der Watcher diese automatisch beim Start und wartet auf neue Einträge.