Moin, ich mische mich hier auch mal ein :)
Mir scheint, dass die Komplexität hier gerade explodiert ;)
Ich würde mir das so vorstellen:
monitor-backend: nimmt Daten von der Soundkarte und stellt diese Dekodiert über TCP zur Verfügung. Kein Logging, keine Datenbank.
Frontends: z.B. Daten in eine Datenbank schreiben, Daten in ein Log schrieben usw.
Ein GUI- (oder Textkonsolen-) Frontend würde aktuelle Ereignisse direkt vom Monitor-Backend bekommen und könnte die Historie entweder direkt aus der Datenbank des DB-Frontends abrufen oder evtl. mit dem DB-Frontend kommunizieren. Für den Direktzugriff auf die DB müssen GUI- und DB-Frontend sich bloß auf eine Datenbankstruktur einigen, für die andere Variante müsste man ein Protokoll entwerfen ...