抖音弹幕游戏开发之第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
  • ✅ 学习日志级别的使用
相关推荐
吹什么轩5 分钟前
linux系统复习:僵尸进程与孤儿进程
linux·运维·php
程序员老赵6 分钟前
Docker 部署青龙面板:轻松搭建定时任务管理平台
前端·docker·开源
Swot7 分钟前
Asciidoctor 公式数字下标错位问题:原因分析与解决方案
前端
Swot7 分钟前
leo-editor 中将 Markdown 内容转成 asciidoc 格式
前端
张宇Joaquin19 分钟前
AMD uProf 工具采集微架构特征使用介绍
服务器
狒狒AI20 分钟前
Remotion / GSAP+Three / HyperFrames / Skia 四栈实测:代码渲染知识视频的选栈方法(附开源技能)
前端·人工智能·aigc
修炼的dance21 分钟前
浏览器里导出H.265,8.5秒和55.5秒差在硬件
前端
补码缩写22 分钟前
WebCodecs选编码器,探测之后还要验解码和播放
前端
大文说跨境23 分钟前
亚马逊多账号管理浏览器怎么选?云登/紫鸟/AdsPower 对比
java·前端·自动化
hunter_07625 分钟前
iOS 首页复杂嵌套滚动技术方案:头部固定 + 网格滚动 + Tab 吸顶 + 每 Tab 独立下拉刷新
前端