Lihat hanya entri baru dalam file log yang tumbuh

20
tail -f x.log

Saya menggunakan perintah ini untuk melihat file log yang tumbuh di command prompt.

Saya hanya tertarik melihat baris log yang ditulis ke file setelah menjalankan tail -fdan tidak tertarik pada log yang ditulis ke file sebelum melakukan tail -f. Tapi tail -fperintah saat mulai, ambil 10 baris terakhir dan tampilkan.

Ini membingungkan saya, kadang-kadang jika log ini baru dibuat (atau) mereka log lama?

Jadi, bagaimana saya bisa menyesuaikan tail -f untuk hanya menghasilkan entri baru?


sumber

Jawaban:

31

Anda dapat mencoba:

tail -n0 -f x.log

Dari halaman manual :

-n, --lines = K
menampilkan baris K terakhir, bukan 10 terakhir; atau gunakan -n + K untuk menampilkan garis yang dimulai dengan Kth

taliezin
sumber
12

Anda dapat menggunakan -n0opsi untuk menampilkan 0 baris. Begitu

tail -n0 -f some.log
fredtantini
sumber
2

Anda juga dapat menggunakan lessperintah like

  1. less file_name.log (file log akan dibuka dan akan menampilkan halaman pertama file log)
  2. tekan shift+ f(untuk bertindak sama seperti tail -f)
  3. Seandainya Anda perlu mencari kata kunci apa pun di file log. tekan ctrl+ cuntuk keluar dari mode ekor dan cari kata kunci sebagai /kata kunci dan ?kata kunci.
Ragu Rathish
sumber
Ini tidak hanya melihat entri baru dalam file log yang tumbuh.
Seram
0

Saya telah membuat pendekatan ini ketika saya harus memonitor entri di dalam wadah buruh pelabuhan:

LOG_COUNT=0
LOGS=/var/logs/your_logs

function HEART_BEAT() {
    LOG_COUNT_NEW=$(wc -l $LOGS | awk '{ print $1 }')
    tail -n $(( $LOG_COUNT_NEW - $LOG_COUNT )) $LOGS
    LOG_COUNT=$LOG_COUNT_NEW
}

Semoga ini membantu!

Number16BusShelter
sumber