Spaces:
Running
Running
| """Observer for general purpose debug logging.""" | |
| from loguru import logger | |
| from pipecat.observers.base_observer import BaseObserver, FramePushed | |
| class DebugObserver(BaseObserver): | |
| """General purpose debug logger for non-media frames.""" | |
| def __init__(self, label="Debug"): | |
| super().__init__() | |
| self.label = label | |
| async def on_push_frame(self, data: FramePushed): | |
| """Watch frames as they're pushed through the pipeline.""" | |
| frame = data.frame | |
| frame_type = type(frame).__name__ | |
| if "Audio" not in frame_type and "Video" not in frame_type and "Image" not in frame_type: | |
| # Log the User ID so we can verify they match | |
| uid = getattr(frame, 'user_id', 'None') | |
| logger.info(f"🔍 [{self.label}] {frame_type} | User: '{uid}' | Content: {str(frame)[:100]}") | |