Files
zimoyin cdf228fe56 feat(app): 集成loguru日志系统并优化错误处理
- 在app.py中引入loguru并配置日志轮转、异步输出等功能
- 添加全局日志初始化函数和程序启动/退出日志记录
- 将所有print语句替换为logger.info/error/debug/warning方法
- 在data_source.py中添加模型加载和视频打开的日志记录
- 在各个处理器中集成日志记录器实例并记录处理状态
- 修改处理器模块导入路径以符合相对导入规范
- 在requirements.txt中添加loguru依赖包
- 统一异常处理的日志记录方式,便于调试和监控
2026-01-10 18:03:18 +08:00

33 lines
1.0 KiB
Python

from loguru import logger
from abc import ABC, abstractmethod
import asyncio
from .pipeline_data import PipelineData
class BaseProcessor(ABC):
"""所有处理器的抽象基类,定义统一的处理接口"""
def __init__(self, name: str):
self.name = name # 处理器名称(便于日志/调试)
# 初始化日志记录器
self.logger = logger
self.logger.debug(f"处理器 {self.name} 已初始化")
@abstractmethod
def process(self, data: PipelineData) -> PipelineData:
"""
核心处理方法(必须由子类实现)
:param data: 管道数据包
:return: 处理后的数据包(可修改原数据或返回新数据)
"""
pass
async def process_async(self, data: PipelineData):
"""
异步处理方法(可由子类实现)
:param data: 管道数据包
"""
# 默认实现:调用同步处理方法
self.process(data)
def __repr__(self) -> str:
return f"Processor[{self.name}]"