yml2213 b72a58fd57 重构: 日志系统结构化,消除字符串反解析
旧链路:LogEvent→log.Print→logFileWriter→MemoryLogStore.Write
再用 ParseLogLine 字符串切割把分类/级别/账号反解析回来,格式一调就崩。

新链路:LogEvent 直构 LogEntry(Time/Level/Category/Account 直接填值),
经 sink 分发到内存(同步)/文件(异步)/终端。Message 仍用 formatLogLine
渲染保持文件文本格式与前端清理逻辑兼容。

- MemoryLogStore 新增 Append(entry) 替代 Write 的字符串解析路径
- 删除 logFileWriter,新增 sink 统一管理三路输出
- 删除 log.SetOutput/log.Print 依赖
- 保留 ParseLogLine/DetectLogLevel/formatLogLine(AsyncLogWriter 丢弃
  统计与测试仍用),但 log_store 不再调用
- 新增 TestStructuredLogging 覆盖 LogEvent→sink→Append 链路与 minLevel 过滤
2026-07-29 12:52:26 +08:00
2026-06-26 15:29:26 +08:00
2026-06-24 19:11:02 +08:00
2026-06-24 19:11:02 +08:00
2026-06-24 19:11:02 +08:00

斗鱼抢购系统

Wails v2 桌面应用。

开发运行

wails dev

构建

# 构建当前平台
wails build

# 交叉编译
GOOS=windows GOARCH=amd64 wails build
GOOS=darwin  GOARCH=amd64 wails build
GOOS=darwin  GOARCH=arm64 wails build
GOOS=linux   GOARCH=amd64 wails build

构建产物在 build/bin/ 目录。

项目结构

├── main.go                      # Wails 入口
├── app.go                       # App 结构体 + 前端可调用方法
├── frontend/
│   └── index.html               # 前端页面
├── internal/
│   ├── client/                  # 斗鱼接口客户端
│   ├── seckill/                 # 抢购调度器
│   ├── logger/                  # 日志系统
│   ├── trace/                   # HTTP 请求追踪
│   ├── image/                   # 成功图片生成
│   ├── config/                  # 配置管理
│   ├── types/                   # 类型定义
│   ├── constants/               # 常量
│   └── utils/                   # 工具函数
├── data/
│   └── user.txt                 # 账号文件
└── build/                       # 构建输出(gitignore)

环境变量

变量 说明 默认值
DOUYU_CONFIG 配置文件路径 config.json
DOUYU_USERS 账号文件路径 data/user.txt
DOUYU_LOG_DIR 日志目录 logs
DOUYU_SUCCESS_DIR 成功图片目录 success_images
DOUYU_FONT 自定义字体路径 自动检测系统字体
DOUYU_TRACE 启用 HTTP 追踪 关闭
DOUYU_TRACE_MAX_BODY trace 正文最大字节数 无限制
S
Description
No description provided
Readme
1.9 MiB
Languages
Go 66%
Vue 23%
TypeScript 6.1%
CSS 3.9%
Shell 0.9%