Merge pull request #81 from janspeller/feature/ISSUE-67

Fix Issue #67
This commit is contained in:
Bastian Schroll 2025-06-11 10:01:51 +02:00 committed by GitHub
commit 3388dd16e7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 25 additions and 7 deletions

View file

@ -30,7 +30,8 @@ class RouterManager:
r"""!Class to manage all routers""" r"""!Class to manage all routers"""
def __init__(self): def __init__(self):
r"""!Create new router""" """!Create new router"""
self.config = None
self._routerDict = {} self._routerDict = {}
self._startTime = int(time.time()) self._startTime = int(time.time())
@ -40,6 +41,7 @@ class RouterManager:
@param config: instance of ConfigYaml class @param config: instance of ConfigYaml class
@return True or False""" @return True or False"""
self.config = config
self._routerDict = {} # all routers and instances of modules/plugins would be destroyed self._routerDict = {} # all routers and instances of modules/plugins would be destroyed
routerDict_tmp = {} routerDict_tmp = {}
logging.debug("build routers") logging.debug("build routers")
@ -116,7 +118,8 @@ class RouterManager:
else: else:
logging.warning("unknown router: %s", routerName) logging.warning("unknown router: %s", routerName)
self._saveStats() # write stats to stats file if self.config.get("server", "logging", default=False):
self._saveStats() # write stats to stats file
def cleanup(self): def cleanup(self):
r"""!Run cleanup routines for all loaded route points""" r"""!Run cleanup routines for all loaded route points"""

View file

@ -33,7 +33,7 @@ class=handlers.TimedRotatingFileHandler
interval=midnight interval=midnight
backupCount=7 backupCount=7
formatter=complex formatter=complex
level=DEBUG level=ERROR
args=('log/client.log',) args=('log/client.log',)
[handler_screen] [handler_screen]

View file

@ -33,7 +33,7 @@ class=handlers.TimedRotatingFileHandler
interval=midnight interval=midnight
backupCount=7 backupCount=7
formatter=complex formatter=complex
level=DEBUG level=ERROR
args=('log/server.log',) args=('log/server.log',)
[handler_screen] [handler_screen]

View file

@ -11,6 +11,7 @@ server:
port: 8080 port: 8080
name: BW3 Server # name of the BW3 Server instance name: BW3 Server # name of the BW3 Server instance
useBroadcast: no # serve server ip on broadcast request useBroadcast: no # serve server ip on broadcast request
logging: False # enable log file
alarmRouter: alarmRouter:
- Router 1 - Router 1

View file

@ -157,15 +157,16 @@ decoder:
``` ```
--- ---
## Server <h2 id="server-configuration">Server</h2>
Nachfolgend alle Paramater der Server Konfiguration Nachfolgend alle Parameter der Server Konfiguration
### `server:` ### `server:`
|Feld|Beschreibung|Default| |Feld|Beschreibung|Default|
|----|------------|-------| |----|------------|-------|
|port|Port auf dem der Server lauscht|8080 |port|Port auf dem der Server lauscht| 8080
|name|Name zur Identifizierung der Server Instanz|| |name|Name zur Identifizierung der Server Instanz||
|useBroadcast|Verbindungsdaten per Broadcast Server bereitstellen|no| |useBroadcast|Verbindungsdaten per Broadcast Server bereitstellen|no|
|logging|Aktivieren / Deaktivieren des Schreibens von Statistik-Dateien|False|
--- ---
### `alarmRouter:` ### `alarmRouter:`
@ -215,3 +216,16 @@ router:
## Module/Plugins ## Module/Plugins
Die möglichen Einstellungen der einzelnen Module und Plugins sind im jeweiligen Kapitel aufgelistet. Die möglichen Einstellungen der einzelnen Module und Plugins sind im jeweiligen Kapitel aufgelistet.
---
## Logging
Um den Datenträger, auf dem Boswatch läuft, zu schützen ist das Logging in
Dateien standartmäßig auf Fehlermeldungen begrenzt.
In den Dateien `logger_client.ini` bzw `logger_server.ini` kann dies
entsprechend im Bereich `handler_file` unter `level=` angepasst werden.
Das Schreiben einer Statistik-Datei, welche die Durchläufe aller Module
und Plugins dokumentiert, kann in der Server-Konfiguration über den Parameter
`logging` aktiviert werden.
(siehe [Server-Konfiguration](#server-configuration))