#!/bin/bash # OG 日志快速查看工具 # 用法: ./logview.sh [分类] [选项] # 分类: frontend | game | connect | bet | error | all # 选项: -f 实时跟踪 | -t N 查看最后N行 | -g "关键词" 搜索 # # 示例: # ./logview.sh frontend # 查看今天的前端错误 # ./logview.sh game -f # 实时跟踪游戏事件 # ./logview.sh game -g "table_id.*12" # 搜索805牛牛台 # ./logview.sh connect -t 50 # 最近50条连接日志 # ./logview.sh all -g "WARN\|ERROR" # 所有分类的警告和错误 # ./logview.sh frontend -d 2026-05-13 # 查看指定日期 LOG_DIR="/www/wwwroot/Socket/runtime/log" DATE=$(date +%Y-%m-%d) CATEGORY=${1:-all} shift 2>/dev/null MODE="tail" LINES=30 GREP="" CUSTOM_DATE="" while [[ $# -gt 0 ]]; do case $1 in -f) MODE="follow"; shift ;; -t) LINES=$2; shift 2 ;; -g) GREP=$2; shift 2 ;; -d) CUSTOM_DATE=$2; shift 2 ;; *) shift ;; esac done [[ -n "$CUSTOM_DATE" ]] && DATE=$CUSTOM_DATE if [[ "$CATEGORY" == "all" ]]; then CATS="frontend game connect bet error" else CATS=$CATEGORY fi for cat in $CATS; do FILE="$LOG_DIR/$cat/$DATE.log" if [[ ! -f "$FILE" ]]; then echo "[$cat] 无日志: $FILE" continue fi if [[ "$MODE" == "follow" ]]; then echo "=== 实时跟踪 $cat ===" tail -f "$FILE" exit 0 fi echo "=== $cat ($DATE) ===" if [[ -n "$GREP" ]]; then grep -i "$GREP" "$FILE" | tail -$LINES else tail -$LINES "$FILE" fi echo done