Skip to content

Conversation

@KoenigMjr
Copy link
Contributor

  • Logdatei wird nun zur Laufzeit anhand des Konfigurationsdateinamens gesetzt, z. B.: client1.yaml → log/client1.log
  • Ermöglicht parallele Ausführung mehrerer Clients mit getrennten Logs auf derselben Hardware
  • Der bisher fest codierte client.log entfällt
  • Argumente (args.config) werden nun vor dem Logging-Setup geparst
  • logger_client.ini bleibt erhalten; Pfad des TimedRotatingFileHandler wird nachträglich im Code gesetzt
  • Log-Rotation (Mitternacht, 7 Backups) funktioniert weiterhin wie konfiguriert
  • disable_existing_loggers=False verhindert das Deaktivieren benutzerdefinierter Logger in den BOSWatch-Modulen
  • Falls die zuvor standardmäßige placeholder-Datei log/client.log noch existiert und nicht mehr verwendet wird, wird sie beim Start automatisch gelöscht

BREAKING CHANGE: Logging wird nicht mehr standardmäßig nach log/client.log geschrieben

- Logdatei wird nun zur Laufzeit anhand des Konfigurationsdateinamens gesetzt, z. B.:
  client1.yaml → log/client1.log
- Ermöglicht parallele Ausführung mehrerer Clients mit getrennten Logs auf derselben Hardware
- Der bisher fest codierte client.log entfällt
- Argumente (args.config) werden nun vor dem Logging-Setup geparst
- logger_client.ini bleibt erhalten; Pfad des TimedRotatingFileHandler
  wird nachträglich im Code gesetzt
- Log-Rotation (Mitternacht, 7 Backups) funktioniert weiterhin wie konfiguriert
- `disable_existing_loggers=False` verhindert das Deaktivieren benutzerdefinierter Logger in den BOSWatch-Modulen
- Falls die zuvor standardmäßige placeholder-Datei `log/client.log` noch existiert und nicht mehr verwendet wird,
  wird sie beim Start automatisch gelöscht

BREAKING CHANGE: Logging wird nicht mehr standardmäßig nach log/client.log geschrieben
@KoenigMjr
Copy link
Contributor Author

KoenigMjr commented Jul 17, 2025

Servus,
ich denke es wird nur einen klitzekleinen Teil der User betreffen, dennoch stört es die "normalen" User nicht.

Problemstellung:
Habe an einem Raspbi 2x Client laufen (mit zwei DVB-T Sticks). Die beiden Clients haben standardmäßig ins gleiche Logfile geschrieben --> Fehler.
Mit der Erweiterung schreibt jeder Client ein Log, das so heißt, wie das client.yaml. Falls Client.yaml so heißt (orginal), bleibt auch alles wie es ist.

Beim Server habe ich die Änderung nicht durchgeführt, da mehrere Clients IMHO realistisch wären, mehrere Server allerdings nicht benötigt, da genau das ja die Logik am Client-Server-Prinzip ist (sofern ich richtig verstanden 😄 )

Hab es bei mir getestet und es funktioniert. Gerne kritisch prüfen und diskutieren :)

@KoenigMjr KoenigMjr marked this pull request as ready for review July 17, 2025 08:28
@KoenigMjr KoenigMjr changed the title feat(logging): dynamische Logdateibenennung basierend auf YAML-Datei feat(logging): dynamische Logdateibenennung des Client basierend auf YAML-Datei Jul 17, 2025
Copy link
Member

@Schrolli91 Schrolli91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eben noch gesehen, die Kommentare im Code sollten der Konsistenz halber in Englisch verfasst sein. Ansonsten sieht das recht gut aus

@KoenigMjr KoenigMjr requested a review from Schrolli91 July 22, 2025 07:37
@KoenigMjr KoenigMjr marked this pull request as draft July 22, 2025 17:28
@KoenigMjr
Copy link
Contributor Author

Es ergab sich bei mir ein Problem, dass die Rotation des Logfiles vermutlich nicht unterstützte.

Hab jetzt nochmal betroffene Codezeilen geändert und teste die Lokal für ein paar Tage, um sicherzustellen, dass es funktioniert. Bis dahin hab ich den PR mal wieder in den Draft-Zustand versetzt.

Falls der Fix funktioniert, werde ich es im Repro anpassen und wieder zum Review freigeben.

@Schrolli91
Copy link
Member

Super - Danke für deinen Einsatz!

@KoenigMjr KoenigMjr force-pushed the feature/log-multi-clients branch 2 times, most recently from 0bf5708 to 030485b Compare July 23, 2025 09:59
- Logdateipfad wird vor dem Aufruf von fileConfig() über builtins.log_filename gesetzt
- Entfernt manuelles Patchen des Loghandlers (BaseFilename, Stream etc.) nach dem Laden
- Logging-Konfiguration (logger_client.ini) wird nur noch einmal geladen
- logger_*.ini: Korrektur: interval=midnight ist nicht (mehr) offiziell unterstützt, Änderung auf korrekte Schreibweise (when=midnight, interval=1)
- Ändern der Kommentare auf Englisch (stringent zu anderen Kommentaren)
@KoenigMjr KoenigMjr force-pushed the feature/log-multi-clients branch from 030485b to 34fd0c2 Compare July 31, 2025 14:05
@KoenigMjr KoenigMjr marked this pull request as ready for review August 3, 2025 11:41
Copy link
Contributor Author

@KoenigMjr KoenigMjr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, hab nun mir das Verhalten ein paar Tage angesehen und bei mir funktioniert es nach den letzten Änderungen wie gewünscht :)

Copy link
Member

@Schrolli91 Schrolli91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Schrolli91 Schrolli91 merged commit 7ae6dfa into BOSWatch:develop Aug 4, 2025
7 checks passed
@KoenigMjr KoenigMjr deleted the feature/log-multi-clients branch August 4, 2025 06:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants