#!/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