《抖音弹幕游戏开发专栏》是优雅草建立的专栏,由优雅草资深开发工程师云桂提供实战教学配对发布有对应的视频教程,以下内容为技术文稿,卓伊凡辅助。
抖音弹幕游戏开发之第17集:添加日志系统·优雅草云桧·卓伊凡
第17集:添加日志系统
为什么需要日志系统
print的问题:
- 信息会消失
- 没有时间戳
- 没有级别区分
- 不便于分析
日志系统优势:
- 持久化存储到文件
- 每条日志有精确时间
- 级别分类(DEBUG/INFO/WARNING/ERROR)
- 格式统一,便于分析
日志级别
|----------|-------------|
| 级别 | 说明 |
| DEBUG | 调试信息,最详细 |
| INFO | 一般信息,正常运行记录 |
| WARNING | 警告信息,可能有问题 |
| ERROR | 错误信息,功能受影响 |
| CRITICAL | 严重错误,程序可能崩溃 |
配置日志系统
import logging
from datetime import datetime
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s [%(levelname)s] %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
handlers=[
logging.FileHandler(
f'danmu_log_{datetime.now().strftime("%Y%m%d")}.txt',
encoding='utf-8'
),
logging.StreamHandler() # 同时输出到控制台
]
)
logger = logging.getLogger(__name__)
替换print为logger
# 连接成功
logger.info("抖音直播弹幕整蛊插件已启动!")
# 弹幕消息
logger.info(f"💬 [弹幕] {name}: {content}")
# 触发成功
logger.info(f"✓ 触发: {keyword} -> {key}")
# 冷却提示(用debug,太频繁)
logger.debug(f"⏰ 冷却中,还需等待 {remaining:.1f} 秒")
# 错误信息
logger.error(f"JSON解析失败: {e}")
# 警告信息
logger.warning("⚠️ 触发紧急停止!")
日志输出效果
2024-12-28 15:30:45 [INFO] 正在连接弹幕服务器...
2024-12-28 15:30:46 [INFO] 抖音直播弹幕整蛊插件已启动!
2024-12-28 15:30:50 [INFO] 💬 [弹幕] 用户A: 跳
2024-12-28 15:30:50 [INFO] ✓ 触发: 跳 -> space
日志文件管理
每天一个日志文件:danmu_log_20241228.txt
本集总结
- ✅ 理解日志系统的重要性
- ✅ 配置Python的logging模块
- ✅ 替换所有print为logger
- ✅ 学习日志级别的使用