Files
ai-team-dashboard/dashboard/demo-logging.sh
fang 5f14174bb9 feat: 添加 Dashboard 完整日志监控系统 v1.1.0
 新增功能
- 完整的日志记录系统(6 种日志级别)
- 日志配置功能(可通过 config.json 控制)
- 性能监控装饰器和请求日志中间件
- 7 个管理工具脚本
- 完整的文档和使用指南

🛠️ 管理工具
- start-with-log.sh: 启动脚本(带日志)
- stop-dashboard.sh: 停止脚本
- view-logs.sh: 日志查看器
- monitor-logs.sh: 实时监控工具(支持多种过滤器)
- analyze-logs.sh: 日志分析工具(自动生成报告)
- demo-logging.sh: 功能演示脚本
- test-logging-config.sh: 配置测试工具

📊 日志特性
- 支持 INFO/SUCCESS/WARN/ERROR/DEBUG/PERF 6 种级别
- 自动记录启动过程、API 请求、性能统计
- 缓存命中情况追踪
- 分步性能监控
- 智能过滤器

⚙️ 配置功能
- 可控制是否启用日志(默认:true)
- 可设置日志级别(默认:INFO)
- 可控制文件/控制台输出
- 支持动态配置(重启生效)

📚 文档
- LOGGING_GUIDE.md: 完整使用指南
- LOGGING_CONFIG.md: 配置说明文档
- LOGGING_CONFIG_QUICK.md: 快速配置指南
- 多个中文说明文档

🔒 安全
- 添加 .gitignore 排除敏感信息
- config.json(含 Token)不提交
- 日志文件不提交
- 示例配置使用占位符

 测试
- 语法检查通过
- 功能完整性验证
- 配置控制测试通过
- 文档完整性检查

详见 CHANGELOG_v1.1.0.md

Made-with: Cursor
2026-03-11 11:37:35 +08:00

229 lines
10 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Dashboard 日志功能演示脚本
# 展示如何使用新的日志监控功能
clear
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🦞 AI Team Dashboard 日志功能演示"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
# 颜色定义
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
echo -e "${CYAN}📚 本演示将向您展示 Dashboard 的日志监控功能${NC}"
echo ""
echo "您将看到:"
echo " 1. 启动 Dashboard带日志记录"
echo " 2. 实时监控运行日志"
echo " 3. 查看性能分析报告"
echo " 4. 使用各种过滤器查看日志"
echo ""
echo -e "${YELLOW}注意:这只是演示,实际使用时请根据需要选择工具${NC}"
echo ""
read -p "按 Enter 键开始演示..." dummy
# ═══════════════ 第 1 步:检查当前状态 ═══════════════
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${CYAN}📋 第 1 步:检查 Dashboard 状态${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
if [ -f "logs/dashboard.pid" ]; then
PID=$(cat logs/dashboard.pid)
if ps -p "$PID" > /dev/null 2>&1; then
echo -e "${GREEN}✅ Dashboard 正在运行 (PID: $PID)${NC}"
echo ""
read -p "是否要停止并重新启动以查看完整日志?(y/N) " response
if [[ "$response" =~ ^[Yy]$ ]]; then
echo ""
echo "正在停止 Dashboard..."
./stop-dashboard.sh
echo ""
sleep 2
else
echo ""
echo -e "${YELLOW}将使用现有的 Dashboard 进程${NC}"
SKIP_START=true
fi
else
echo -e "${YELLOW}⚠️ Dashboard 未运行${NC}"
fi
else
echo -e "${YELLOW}⚠️ Dashboard 未运行${NC}"
fi
echo ""
read -p "按 Enter 继续..." dummy
# ═══════════════ 第 2 步:启动 Dashboard ═══════════════
if [ "$SKIP_START" != true ]; then
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${CYAN}🚀 第 2 步:启动 Dashboard带日志记录${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "命令: ./start-with-log.sh"
echo ""
# 清空旧日志
if [ -f "logs/dashboard.log" ]; then
echo "清空旧日志..."
> logs/dashboard.log
> logs/dashboard-error.log
fi
./start-with-log.sh
echo ""
echo -e "${GREEN}Dashboard 已启动!${NC}"
echo ""
read -p "按 Enter 继续查看日志..." dummy
fi
# ═══════════════ 第 3 步:查看启动日志 ═══════════════
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${CYAN}📄 第 3 步:查看启动日志${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "命令: ./view-logs.sh"
echo ""
echo "日志内容:"
echo "─────────────────────────────────────────"
if [ -f "logs/dashboard.log" ]; then
head -20 logs/dashboard.log
echo "─────────────────────────────────────────"
echo ""
echo -e "${GREEN}✅ 可以看到详细的启动过程!${NC}"
else
echo -e "${YELLOW}⚠️ 日志文件尚未生成,请等待 Dashboard 完全启动${NC}"
fi
echo ""
read -p "按 Enter 继续..." dummy
# ═══════════════ 第 4 步:实时监控 API 请求 ═══════════════
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${CYAN}📡 第 4 步:实时监控 API 请求${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "命令: ./monitor-logs.sh --api"
echo ""
echo -e "${YELLOW}提示:请在浏览器中访问 http://localhost:3800${NC}"
echo -e "${YELLOW} 然后观察实时 API 请求日志${NC}"
echo ""
echo "这里显示最近的 API 请求:"
echo "─────────────────────────────────────────"
if [ -f "logs/dashboard.log" ]; then
grep '\[API\]' logs/dashboard.log 2>/dev/null | tail -5 || echo "暂无 API 请求记录"
else
echo "日志文件不存在"
fi
echo "─────────────────────────────────────────"
echo ""
echo -e "${GREEN}💡 要实时查看,请运行: ./monitor-logs.sh --api${NC}"
echo ""
read -p "按 Enter 继续..." dummy
# ═══════════════ 第 5 步:查看性能统计 ═══════════════
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${CYAN}⏱️ 第 5 步:查看性能统计${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "命令: ./monitor-logs.sh --perf"
echo ""
echo "最近的性能数据:"
echo "─────────────────────────────────────────"
if [ -f "logs/dashboard.log" ]; then
grep '\[PERF\]' logs/dashboard.log 2>/dev/null | tail -5 || echo "暂无性能数据"
else
echo "日志文件不存在"
fi
echo "─────────────────────────────────────────"
echo ""
echo -e "${GREEN}💡 要实时查看,请运行: ./monitor-logs.sh --perf${NC}"
echo ""
read -p "按 Enter 继续..." dummy
# ═══════════════ 第 6 步:查看分析报告 ═══════════════
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${CYAN}📊 第 6 步:生成日志分析报告${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "命令: ./analyze-logs.sh"
echo ""
if [ -f "logs/dashboard.log" ] && [ -s "logs/dashboard.log" ]; then
echo "正在生成分析报告..."
echo ""
./analyze-logs.sh
else
echo -e "${YELLOW}⚠️ 日志文件为空或不存在${NC}"
echo ""
echo "请先:"
echo " 1. 确保 Dashboard 已启动"
echo " 2. 在浏览器中访问并操作一下"
echo " 3. 等待几秒钟让日志累积"
echo " 4. 再运行 ./analyze-logs.sh"
fi
echo ""
read -p "按 Enter 继续..." dummy
# ═══════════════ 总结 ═══════════════
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${GREEN}🎉 演示完成!${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "📚 您已经了解了以下功能:"
echo ""
echo " 1. ✅ 启动 Dashboard带日志"
echo " 2. ✅ 查看启动日志"
echo " 3. ✅ 监控 API 请求"
echo " 4. ✅ 查看性能统计"
echo " 5. ✅ 生成分析报告"
echo ""
echo "🛠️ 可用工具清单:"
echo ""
echo " ./start-with-log.sh 启动 Dashboard带日志"
echo " ./stop-dashboard.sh 停止 Dashboard"
echo " ./view-logs.sh 查看日志文件"
echo " ./monitor-logs.sh 实时监控所有日志"
echo " ./monitor-logs.sh --api 只监控 API 请求"
echo " ./monitor-logs.sh --perf 只监控性能数据"
echo " ./monitor-logs.sh --error 只监控错误警告"
echo " ./analyze-logs.sh 生成分析报告"
echo ""
echo "📖 更多信息:"
echo ""
echo " cat LOGGING_GUIDE.md 查看完整使用指南"
echo " cat logs/README.md 查看日志说明"
echo " ./monitor-logs.sh --help 查看监控工具帮助"
echo ""
echo "🌟 建议工作流:"
echo ""
echo " 1. 启动时使用: ./start-with-log.sh"
echo " 2. 实时监控: ./monitor-logs.sh --api"
echo " 3. 定期查看: ./analyze-logs.sh"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""