本项目已集成了日志模块 LoggerToolModule,用于记录程序运行过程中的各种信息,包括任务执行、串口信号处理、线程启动、方法调用和错误信息等。
所有日志文件都保存在项目根目录下的 logs/ 文件夹中:
logs/kodi_play.log - Kodi播放任务相关日志logs/application.log - 主应用程序日志logs/test.log - 测试日志(运行测试脚本时生成)日志模块支持以下级别的日志记录:
示例:
[2024-01-01 10:00:00 - INFO]: 开始初始化监听串口任务
[2024-01-01 10:00:01 - INFO]: 成功加载串口配置文件
[2024-01-01 10:00:02 - INFO]: 启动Kodi状态监控线程
示例:
[2024-01-01 10:01:00 - INFO]: 尝试打开串口 - 端口: COM3, 波特率: 9600
[2024-01-01 10:01:01 - INFO]: 串口打开成功 - COM3
[2024-01-01 10:01:05 - INFO]: 接收到串口信号 - 十六进制数据: 0x01
[2024-01-01 10:01:05 - INFO]: 解析单字节信号成功 - 0x01 -> 客户端索引: 1
示例:
[2024-01-01 10:02:00 - INFO]: 开始播放视频 - 路径: /videos/demo.mp4, 客户端索引: 1, 循环播放: false
[2024-01-01 10:02:01 - INFO]: 单独播放模式 - 在客户端 1 上播放视频: /videos/demo.mp4
[2024-01-01 10:02:02 - INFO]: 播放成功,启动播放监控线程
示例:
[2024-01-01 10:03:00 - ERROR]: 打开串口失败 - 端口: COM3, 错误: 设备不存在
[2024-01-01 10:03:01 - ERROR]: 加载配置文件失败: 文件不存在
[2024-01-01 10:03:02 - ERROR]: 播放视频时发生异常 - 错误: 连接超时
示例:
[2024-01-01 10:04:00 - WARNING]: 配置文件中找不到 'video_paths' 键
[2024-01-01 10:04:01 - WARNING]: 客户端索引超出范围 - 索引: 5, 总客户端数: 3
[2024-01-01 10:04:02 - WARNING]: 尝试发送响应但串口未打开
logs/backup/ 目录并添加时间戳备份文件格式:原文件名.序号.时间戳
例如:kodi_play.log.1.20240101120000
运行测试脚本验证日志模块是否正常工作:
python test_logger.py
测试完成后,检查 logs/test.log 文件查看日志输出。
from kodi_util.LoggerToolModule import LoggerTool
# 创建日志实例
logger = LoggerTool(name='your_logger', log_file='your_app.log', log_dir='logs')
# 信息日志
logger.info("任务开始执行")
# 调试日志
logger.debug("变量值: x=10, y=20")
# 警告日志
logger.warning("配置项缺失,使用默认值")
# 错误日志
logger.error("操作失败: 连接超时")
# 严重错误日志
logger.critical("系统崩溃: 内存不足")
try:
# 一些可能出错的操作
risky_operation()
except Exception as e:
logger.error(f"操作失败 - 错误: {str(e)}")
tail -f logs/kodi_play.log 实时查看日志grep ERROR logs/*.log 查找所有错误信息