#!/bin/bash # 日志监控脚本 - 实时监控前后端日志 # 作者: Qwen Assistant # 功能: 实时显示后端和前端日志 # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' PURPLE='\033[0;35m' CYAN='\033[0;36m' NC='\033[0m' # No Color # 打印带颜色的消息 print_message() { local color=$1 local message=$2 echo -e "${color}${message}${NC}" } print_message $BLUE "📋 WordMaster Pro 日志监控面板" # 检查应用是否正在运行 if [ ! -f ".backend.pid" ] || [ ! -f ".frontend.pid" ]; then print_message $YELLOW "⚠️ 应用程序似乎未运行" print_message $CYAN " 提示: 请先运行 ./start_app.sh 启动应用程序" exit 1 fi BACKEND_PID=$(cat .backend.pid) FRONTEND_PID=$(cat .frontend.pid) if ! ps -p $BACKEND_PID > /dev/null 2>&1; then print_message $YELLOW "⚠️ 后端进程 (PID: $BACKEND_PID) 未运行" else print_message $GREEN "✅ 后端进程 (PID: $BACKEND_PID) 正在运行" fi if ! ps -p $FRONTEND_PID > /dev/null 2>&1; then print_message $YELLOW "⚠️ 前端进程 (PID: $FRONTEND_PID) 未运行" else print_message $GREEN "✅ 前端进程 (PID: $FRONTEND_PID) 正在运行" fi echo "" print_message $BLUE "🔍 选择监控选项:" echo "1) 监控后端日志 (实时)" echo "2) 监控前端日志 (实时)" echo "3) 同时监控所有日志 (分割显示)" echo "4) 显示最近的日志 (各10行)" echo "" read -p "请选择 (1-4): " choice case $choice in 1) print_message $CYAN "📡 实时监控后端日志..." print_message $YELLOW "按 Ctrl+C 退出监控" tail -f backend/backend.log ;; 2) print_message $CYAN "🎨 实时监控前端日志..." print_message $YELLOW "按 Ctrl+C 退出监控" tail -f frontend/frontend.log ;; 3) print_message $CYAN "🔄 同时监控前后端日志..." print_message $YELLOW "按 Ctrl+C 退出监控" # Use multitail if available, otherwise use a simple approach if command -v multitail &> /dev/null; then multitail backend/backend.log frontend/frontend.log else print_message $YELLOW "💡 提示: 安装 multitail 可获得更好的多日志监控体验: brew install multitail" print_message $YELLOW "当前使用简单模式监控 (混合输出):" tail -f backend/backend.log frontend/frontend.log fi ;; 4) print_message $BLUE "📋 后端日志最后10行:" if [ -f "backend/backend.log" ]; then tail -10 backend/backend.log else print_message $YELLOW " 未找到后端日志文件" fi echo "" print_message $BLUE "📋 前端日志最后10行:" if [ -f "frontend/frontend.log" ]; then tail -10 frontend/frontend.log else print_message $YELLOW " 未找到前端日志文件" fi echo "" ;; *) print_message $RED "❌ 无效选择" ;; esac