zkt26/sk1/view-logs.sh

59 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
# =============================================================================
# view-logs.sh — View access logs from the Azure VM
#
# Usage:
# ./view-logs.sh # All logs
# ./view-logs.sh --caddy # HTTPS proxy logs
# ./view-logs.sh --api -f # Follow API logs real-time
# =============================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
[ -f "$SCRIPT_DIR/.env" ] && source "$SCRIPT_DIR/.env"
LOC="${AZURE_LOCATION:-westeurope}"
DNS="${AZURE_DNS_LABEL:-taskmanager-gs699he}"
FQDN="${DNS}.${LOC}.cloudapp.azure.com"
SSH_KEY="$HOME/.ssh/sk1_taskmanager"
ADMIN="azureuser"
SSH_CMD="ssh -o StrictHostKeyChecking=no -i $SSH_KEY $ADMIN@$FQDN"
LOG_TYPE="all"
FOLLOW=""
while [[ $# -gt 0 ]]; do
case "$1" in
--caddy) LOG_TYPE="caddy"; shift ;;
--api) LOG_TYPE="api"; shift ;;
--nginx) LOG_TYPE="nginx"; shift ;;
--all) LOG_TYPE="all"; shift ;;
-f) FOLLOW="-f"; shift ;;
*) echo "Unknown: $1"; exit 1 ;;
esac
done
echo "============================================="
echo " Access Logs — $FQDN"
echo "============================================="
case "$LOG_TYPE" in
caddy)
echo "--- Caddy (HTTPS) ---"
$SSH_CMD "sudo docker logs taskapp-caddy --tail 50 $FOLLOW" ;;
api)
echo "--- API (Node.js) ---"
$SSH_CMD "sudo docker logs taskapp-api --tail 50 $FOLLOW" ;;
nginx)
echo "--- Nginx (Frontend) ---"
$SSH_CMD "sudo docker logs taskapp-frontend --tail 50 $FOLLOW" ;;
all)
echo "--- Caddy ---"
$SSH_CMD "sudo docker logs taskapp-caddy --tail 20" 2>&1 || true
echo ""
echo "--- API ---"
$SSH_CMD "sudo docker logs taskapp-api --tail 20" 2>&1 || true
echo ""
echo "--- Nginx ---"
$SSH_CMD "sudo docker logs taskapp-frontend --tail 20" 2>&1 || true ;;
esac