#!/usr/bin/env bash set -Eeuo pipefail LINES="${1:-500}" LEVEL="${2:-info}" case "$LINES" in ''|*[!0-9]* ) LINES=500 ;; esac case "$LEVEL" in debug|info|notice|warning|err) ;; * ) LEVEL=info ;; esac strip(){ sed -E 's/^.*\]:[[:space:]]*//'; } app_logs="" if out="$(journalctl -t snowflake-proxy -p "$LEVEL" -n $((LINES*3)) -o short-iso --no-pager 2>/dev/null)"; then app_logs="$out" elif out="$(journalctl _COMM=snowflake-proxy -p "$LEVEL" -n $((LINES*3)) -o short-iso --no-pager 2>/dev/null)"; then app_logs="$out" fi sys_lines="" if out="$(journalctl -u snowflake-proxy.service -p "$LEVEL" -n $((LINES*6)) -o short-iso --no-pager 2>/dev/null | grep -E ' (Started|Stopped|Stopping|Restarted|Reloaded|Failed) snowflake-proxy\.service|snowflake-proxy\.service: Consumed ')"; then sys_lines="$out" fi combined="$(printf "%s\n%s\n" "${app_logs:-}" "${sys_lines:-}" | sed '/^[[:space:]]*$/d' | sort)" if [[ -n "$combined" ]]; then echo "$combined" | tail -n "$LINES" | strip exit 0 fi if out="$(systemctl status snowflake-proxy --no-pager -l 2>/dev/null | grep -E ' snowflake-proxy\[[0-9]+\]:| (Started|Stopped|Stopping|Restarted|Reloaded|Failed) snowflake-proxy\.service|snowflake-proxy\.service: Consumed ')"; then echo "$out" | tail -n "$LINES" | strip exit 0 fi exit 0