Просмотр исходного кода

feat(dev-logs): 添加开发服务日志记录功能

实现自动记录开发服务日志功能,便于 AI 查询和问题排查:
- 新建 scripts/dev-with-logs.sh 脚本,自动记录开发服务输出
- 新建 logs/README.md 使用文档
- 日志自动按时间戳归档,超过 7 天自动清理

Co-Authored-By: Claude <noreply@anthropic.com>
yourname 3 дней назад
Родитель
Сommit
2494c565fa
2 измененных файлов с 123 добавлено и 0 удалено
  1. 98 0
      logs/README.md
  2. 25 0
      scripts/dev-with-logs.sh

+ 98 - 0
logs/README.md

@@ -0,0 +1,98 @@
+# 开发服务日志目录
+
+本目录用于存储开发服务的运行日志,便于 AI 代理和开发者诊断问题。
+
+## 目录结构
+
+```
+logs/
+└── dev-logs/          # 开发服务日志目录
+    ├── dev-current.log      # 当前会话日志(追加模式)
+    ├── dev-20260114-093000.log  # 历史日志(时间戳命名)
+    └── dev-20260113-143022.log  # 历史日志
+```
+
+## 日志文件说明
+
+### dev-current.log
+- 当前开发服务会话的日志
+- 每次启动 `pnpm run dev` 时追加写入
+- 包含会话开始时间标记(`===== SESSION START: YYYY-MM-DD HH:MM:SS =====`)
+- 最新的日志内容,适合快速查看
+
+### dev-YYYYMMDD-HHMMSS.log
+- 历史日志归档文件
+- 每次启动开发服务时创建新的归档文件
+- 文件名包含启动时间戳
+- 保留 7 天后自动删除
+
+## AI 代理查询指南
+
+### 查看当前日志
+```bash
+# 查看最新的当前日志
+cat logs/dev-logs/dev-current.log
+
+# 使用 tail 查看最后 100 行
+tail -n 100 logs/dev-logs/dev-current.log
+
+# 实时监控日志
+tail -f logs/dev-logs/dev-current.log
+```
+
+### 搜索错误和警告
+```bash
+# 搜索所有错误
+grep -i "error" logs/dev-logs/dev-current.log
+
+# 搜索警告
+grep -i "warning" logs/dev-logs/dev-current.log
+
+# 搜索特定服务的日志
+grep "mini:" logs/dev-logs/dev-current.log
+grep "web:" logs/dev-logs/dev-current.log
+```
+
+### 查看特定会话
+```bash
+# 列出所有日志文件
+ls -lh logs/dev-logs/
+
+# 查看特定时间段的日志
+cat logs/dev-logs/dev-20260114-*.log
+```
+
+### 日志分析示例
+```bash
+# 统计错误数量
+grep -ci "error" logs/dev-logs/dev-current.log
+
+# 查找最近的错误(最后 10 个)
+grep -i "error" logs/dev-logs/dev-current.log | tail -n 10
+
+# 查找包含特定关键词的日志
+grep -B 5 -A 5 "Module not found" logs/dev-logs/dev-current.log
+```
+
+## 日志内容
+
+日志包含以下服务的输出:
+- `dev:mini` - 小程序 H5 开发服务
+- `dev:mini-talent` - 人才小程序 H5 开发服务
+- `dev:weapp` - 微信小程序开发服务
+- `dev:weapp-talent` - 人才微信小程序开发服务
+- `dev:web` - Web 开发服务
+
+## 清理策略
+
+- 自动清理:超过 7 天的归档日志会被自动删除
+- 手动清理:可以手动删除 `logs/dev-logs/` 目录下的文件
+
+## 启动开发服务
+
+```bash
+# 启动带日志记录的开发服务
+pnpm run dev
+```
+
+日志会自动保存到 `logs/dev-logs/` 目录。

+ 25 - 0
scripts/dev-with-logs.sh

@@ -0,0 +1,25 @@
+#!/bin/bash
+# 开发服务日志记录脚本
+
+LOG_DIR="logs/dev-logs"
+TIMESTAMP=$(date +%Y%m%d-%H%M%S)
+mkdir -p "$LOG_DIR"
+
+CURRENT_LOG="$LOG_DIR/dev-current.log"
+ARCHIVE_LOG="$LOG_DIR/dev-$TIMESTAMP.log"
+
+# Session 分隔符
+echo "" >> "$CURRENT_LOG"
+echo "===== SESSION START: $(date) =====" >> "$CURRENT_LOG"
+
+# 运行并记录到两个文件(current + timestamped)
+pnpm run build:mini-ui-packages && concurrently \
+  "pnpm run dev:mini" \
+  "pnpm run dev:mini-talent" \
+  "pnpm run dev:weapp" \
+  "pnpm run dev:weapp-talent" \
+  "pnpm run dev:web" \
+  2>&1 | tee -a "$CURRENT_LOG" > "$ARCHIVE_LOG"
+
+# 清理超过 7 天的旧日志
+find "$LOG_DIR" -name "dev-*.log" -mtime +7 -delete