mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
feat: setup devcontainer
This commit is contained in:
40
.devcontainer/scripts/stream-logs.sh
Executable file
40
.devcontainer/scripts/stream-logs.sh
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
# Stream NetAlertX logs to stdout so the Dev Containers output channel shows them.
|
||||
# This script waits briefly for the files to appear and then tails them with -F.
|
||||
|
||||
LOG_FILES="/app/log/app.log /app/log/db_is_locked.log /app/log/execution_queue.log /app/log/app_front.log /app/log/app.php_errors.log /app/log/IP_changes.log /app/stderr.log /app/stdout.log"
|
||||
|
||||
wait_for_files() {
|
||||
# Wait up to ~10s for at least one of the files to exist
|
||||
attempts=0
|
||||
while [ $attempts -lt 20 ]; do
|
||||
for f in $LOG_FILES; do
|
||||
if [ -f "$f" ]; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
attempts=$((attempts+1))
|
||||
sleep 0.5
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
if wait_for_files; then
|
||||
echo "Starting log stream for:"
|
||||
for f in $LOG_FILES; do
|
||||
[ -f "$f" ] && echo " $f"
|
||||
done
|
||||
|
||||
# Use tail -F where available. If tail -F isn't supported, tail -f is used as fallback.
|
||||
# Some minimal images may have busybox tail without -F; this handles both.
|
||||
if tail --version >/dev/null 2>&1; then
|
||||
# GNU tail supports -F
|
||||
tail -n +1 -F $LOG_FILES
|
||||
else
|
||||
# Fallback to -f for busybox; will exit if files rotate or do not exist initially
|
||||
tail -n +1 -f $LOG_FILES
|
||||
fi
|
||||
else
|
||||
echo "No log files appeared after wait; exiting stream script."
|
||||
exit 0
|
||||
fi
|
||||
Reference in New Issue
Block a user