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()