Saya memiliki aplikasi web yang menghasilkan sejumlah file log dengan informasi kinerja. Satu file log menghasilkan waktu eksekusi kode dan yang lainnya menampilkan waktu SQL. Saya tidak memiliki kontrol atas logger atau kode yang menghasilkan file log, tapi saya ingin menampilkan log di satu tempat.
Saat ini saya sedang melakukan sesuatu seperti ini
tail -f sqlLogs.log | grep sql-time
tail -f perflogs.log | grep exec-time
Ini menampilkan sesuatu ke konsol setiap kali SQL dieksekusi dalam aplikasi. Tapi saya harus menjalankan kode dalam dua sesi SSH yang terpisah. Namun, apa yang saya ingin dapat mengekor kedua file, dalam sesi SSH yang sama. Apakah ini mungkin?
Lihatlah MultiTail . Itu temanmu.
Anda dapat memiliki beberapa ekor log
http://www.vanheusden.com/multitail/
Di Ubuntu 10.04:
sudo apt-get install multitail
sumber
Yap, menggunakan
screen
perintah, Anda dapat memiliki 2 sesi bash berjalan pada satu terminal.screen
untuk memulai,Ctrl-a
kemudianS
(CATATAN: huruf kapital S) untuk membagi layar menjadi 2.Ctrl-a
kemudianTab
akan memindahkan Anda di antara dua sesi.Ctrl-a
kemudianc
akan memulai shell di wilayah baru itu.(Silakan lihat jawaban Riccardo sebelum menggunakan ini, ini jauh lebih sederhana, saya akan meninggalkan ini karena mungkin berguna untuk orang-orang dengan masalah yang sama tetapi berbeda).
sumber
Anda dapat menggunakan mkfifo untuk melipatgandakan output ke satu pipa
buat pipa fifo, ekor n file ke pipa, lalu cat pipa
saat selesai
sumber
tail fileN >> pipeName
.