✨ 新增功能 - 完整的日志记录系统(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
229 lines
10 KiB
Bash
Executable File
229 lines
10 KiB
Bash
Executable File
#!/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 ""
|