抖音弹幕游戏开发之第17集:添加日志系统·优雅草云桧·卓伊凡

《抖音弹幕游戏开发专栏》是优雅草建立的专栏,由优雅草资深开发工程师云桂提供实战教学配对发布有对应的视频教程,以下内容为技术文稿,卓伊凡辅助。
抖音弹幕游戏开发之第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
  • ✅ 学习日志级别的使用
相关推荐
AIMarketing1 小时前
飞猫M505G网速技术解析峰值1.6Gbps技术原理
运维·服务器·5g
JamesYoung79711 小时前
第一部分 — 基础知识 项目框架与文件布局
前端·chrome
孟健1 小时前
程序员就业率暴跌27.5%:我离开大厂5个月后,看懂了这件事
前端
卸任1 小时前
Electron判断是内置摄像头还是接摄像头
前端·react.js·electron
NEXT062 小时前
普通函数与箭头函数的区别
前端·javascript·面试
overmind2 小时前
oeasy Python 116 用列表乱序shuffle来洗牌抓拍玩升级拖拉机
服务器·windows·python
vortex52 小时前
Zellij 复制提示成功却粘贴不了?一文解决剪贴板不同步问题
linux
晚秋大魔王2 小时前
Trilium Note 服务器部署
运维·服务器
全马必破三2 小时前
Webpack知识点汇总
前端·webpack·node.js