#!/bin/bash

__LOG_TAILS=()
__PIDS=()
while true; do
	__LOG_FILES=($(find /var/log -type f -name '*.log'))
	for __LOG_FILE in "${__LOG_FILES[@]}"; do
		for __LOG_TAIL in "${__LOG_TAILS[@]}"; do
			if [[ "$__LOG_FILE" == "$__LOG_TAIL" ]]; then
				continue 2
			fi
		done
		__LOG_TAILS+=($__LOG_FILE)
		echo "Found log file: $__LOG_FILE"
		systemd-cat -t "systemd-cat-$(echo "${__LOG_FILE#"/"}" | tr '/' '-' | tr '.' '-')" tail -n0 -f "$__LOG_FILE" &
		__PIDS+=($!)
	done
	for __PID in "${__PIDS[@]}"; do
		if ! kill -0 "$__PID" 2> /dev/null; then
			echo >&2 "systemd-cat process with pid $__PID seems to have died!"
			exit 2
		fi
	done
	sleep 30
done
