Tail multiple log files dengan prefix per file
Jalan satu terminal, tail beberapa log file sekaligus, output di-prefix dengan nama file supaya jelas yang mana darimana.
Dipublikasikan 4 Juni 2026
Saat debug app dengan banyak log file (mis. nginx + app + worker), buka tab terminal terpisah per file melelahkan. Snippet ini gabungkan output beberapa tail -f dengan prefix nama file.
Kode
#!/usr/bin/env bash
# multitail.sh — tail multiple files dengan prefix
# Usage: ./multitail.sh /var/log/nginx/access.log /var/log/app.log
for f in "$@"; do
if [ ! -f "$f" ]; then
echo "Skip: $f tidak ada"
continue
fi
name=$(basename "$f" .log)
tail -F "$f" 2>&1 | sed -u "s/^/[$name] /" &
done
wait
-F (besar) bukan -f (kecil) — -F handle file rotation, jadi kalau log di-rotate (logrotate), tetap follow file yang sama.
Kapan dipakai
- Debug multi-component setup (nginx + app + worker logs)
- Watch correlated events across services di satu terminal
- Live tail saat deploy untuk lihat error muncul
Catatan
waitdi akhir supaya parent script nunggu sampai semua tail selesai (Ctrl+C akan stop semua background tail).sed -u(unbuffered) penting — tanpa ini, output di-buffer dan delay terlihat di terminal.- Untuk warna per file: tambahkan
\e[3${i}mANSI code di prefix. Tapi banyak terminal beda support warnanya, saya skip.
Untuk production tail yang persistent, pakai
multitail(apt install multitail) ataulnav(lebih kaya feature). Script ini untuk quick ad-hoc tail.
# tags
bashlogstaildebugging
Ditulis oleh Asti Larasati · 4 Juni 2026