#!/bin/sh
# Gateway log capture script

LOG_FILE="$1"
FILTER_REGEX="$2"

if [ -z "$LOG_FILE" ] || [ -z "$FILTER_REGEX" ]; then
    echo "Error: LOG_FILE and FILTER_REGEX parameters are required" >&2
    echo "Usage: $0 <log_file> <filter_regex>" >&2
    exit 1
fi

# Trap signals to clean up
cleanup() {
    kill $PID 2>/dev/null
    exit 0
}

trap cleanup TERM INT HUP

logread -f > >(grep --line-buffered -iE "$FILTER_REGEX" >> "$LOG_FILE" 2>&1) &
PID=$!

wait $PID
