#!/bin/bash
# View logs for a FarmMatch pipeline job

if [ -z "$1" ]; then
    echo "📋 Recent FarmMatch Job Logs:"
    echo "=============================="
    echo ""

    # List recent job logs
    ls -lht /tmp/farmmatch_job_*.log 2>/dev/null | head -10 | while read -r line; do
        file=$(echo "$line" | awk '{print $NF}')
        job_id=$(basename "$file" | sed 's/farmmatch_job_//' | sed 's/.log//')
        size=$(echo "$line" | awk '{print $5}')
        date=$(echo "$line" | awk '{print $6, $7, $8}')
        echo "  📄 Job $job_id ($size bytes) - $date"
        echo "     View with: ./view_job_log.sh $job_id"
        echo ""
    done

    echo ""
    echo "Usage: ./view_job_log.sh <job_id>"
    echo "   Or: ./view_job_log.sh <job_id> follow   (to tail -f)"
    exit 0
fi

JOB_ID=$1
LOG_FILE="/tmp/farmmatch_job_${JOB_ID}.log"

if [ ! -f "$LOG_FILE" ]; then
    echo "❌ Log file not found: $LOG_FILE"
    echo ""
    echo "Available logs:"
    ls -lht /tmp/farmmatch_job_*.log 2>/dev/null | head -5
    exit 1
fi

echo "📋 FarmMatch Job Log: $JOB_ID"
echo "=============================="
echo ""

if [ "$2" = "follow" ]; then
    echo "👀 Following log (Ctrl+C to stop)..."
    echo ""
    tail -f "$LOG_FILE"
else
    cat "$LOG_FILE"
fi
