File size: 846 Bytes
e8ed0e1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""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]}")