add frame logging and extract entry point to main.py

- msg/frame_logger.py: MsgListener that writes raw byte stream per
  source to timestamped log files (<YYYY_MM_DD_HH_MM_SS_source>.log)
- main.py: entry point extracted from network_backend.py; adds
  --log-dir argument (default ./log) and wires FrameLogger per transceiver
- network_backend.py: now contains only the NetworkBackend class
- .gitignore: exclude log/ directory

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 11:12:15 +02:00
co-authored by Claude Sonnet 4.6
parent a920802cce
commit c5ec65f2d6
4 changed files with 160 additions and 117 deletions
+23
View File
@@ -0,0 +1,23 @@
import os
from datetime import datetime
from msg.listener import MsgListener
from msg.container import MsgContainer
class FrameLogger(MsgListener):
def __init__(self, source_id: str, log_dir: str = './log'):
super().__init__()
os.makedirs(log_dir, exist_ok=True)
ts = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
filename = f"{ts}_{source_id.strip()}.log"
self._file = open(os.path.join(log_dir, filename), 'wb')
def is_msg(self, msg: MsgContainer) -> bool:
return True
def on_recv(self, msg: MsgContainer):
self._file.write(msg.data)
self._file.flush()
def close(self):
self._file.close()