Menampilkan file log "bergulir"

28

Melalui baris perintah, saya punya file log yang ingin saya ikuti.

Yang saya inginkan adalah memiliki, pada dasarnya, tailyang menyegarkan ketika log diperbarui membuat teks gulir ke atas sebagai baris baru ditambahkan ke file log.

Apakah ada sesuatu di luar sana yang melakukan itu tanpa harus menulis beberapa kode?

WernerCD
sumber

Jawaban:

35

tailmemiliki -fopsi:

Dari manhalaman:

-f, --follow [= {name | descriptor}] menghasilkan data yang ditambahkan saat file bertambah; -f, --follow, dan --follow = descriptor adalah sama

Jadi, jika Anda mengetik:

tail -f [path_and_name_of_logfile] - Anda akan melihat output di terminal saat file log itu sendiri ditambahkan ke.

NB [path_and_name_of_logfile]adalah parameter, jadi untuk memberikan contoh:

tail -f /var/log/messages

Jika Anda menggabungkan dengan -n [number_of_lines]opsi, Anda dapat memulai output dari [number_of_lines] terakhir dalam file - misalnya

tail -n 10 -f /var/log/Xorg.0.log

masukkan deskripsi gambar di sini


Beberapa program akan secara berkala mengubah file log mereka, memindahkan yang lama ke nama baru (misalnya log.0) dan memulai dari awal.

NB logrotate melakukan ini untuk mencatat file untuk program lain yang tidak melakukannya sendiri.

tail -f akan terus mengikuti file lama setelah diubah namanya.

tail -F akan mengikuti file dengan nama, jadi akan beralih untuk mengikuti file baru.

kebebasan fosil
sumber
kedua jawaban tepat ... tidak menyadari Tail punya pilihan itu. Anda mendapatkan cek untuk info tambahan.
WernerCD
Selain itu, ada juga beberapa skrip mengagumkan di luar sana untuk mewarnai log tailing Anda. salah satu contoh yang muncul di benak adalah colorize.pl, dan Anda mencapainya dengan menyaringnya melalui skrip colorize. misal: tail -f / var / log / messages | /home/me/colorize.pl
lazyPower
@ lazyPower Bagus juga. Saya harus mengotak-atik itu, meskipun saya pikir itu tidak akan sangat berguna dalam situasi saya saat ini.
WernerCD
18

Meskipun tailtentu cara biasa untuk melakukan ini, harus dicatat bahwa lessmemiliki fitur yang sama dan kadang-kadang lebih bermanfaat.

Jika Anda membuka file dengan lessmaka Anda dapat menekan Shift+ Funtuk mengikuti file (yaitu akan menampilkan baris baru, seperti tail -fhalnya). Anda dapat keluar dari mode ini dengan Ctrl+C

Anda juga dapat memulai lessdengan +Fopsi, dalam hal ini akan mulai dalam mode itu. Secara umum +dapat digunakan untuk memberikan "perintah keyboard" lessyang akan dieksekusi pada saat startup.

Menggunakan lessuntuk ini memiliki keuntungan bahwa Anda dapat dengan mudah mencari file atau melihat area lain jika diperlukan. Saya sudah sering melakukannya dengan file log, misalnya.

Joachim Sauer
sumber
Tidak pernah mendengar tentang "ikuti" (lebih, kurang, ekor, kucing). Senang mengetahui hal-hal.
WernerCD
1
Sepakat. Saya lebih suka lebih sedikit. Ctrl-C akan menghentikan pengguliran ketika Anda menemukan sesuatu yang menarik, lalu b untuk menggulir ke belakang atau ke depan dan / atau? untuk mencari maju atau mundur. g akan membawa Anda ke awal file dan G ke akhir. Semua yang kamu butuhkan.
Martin Dow
6

Apakah

tail -f something.log

lakukan apa yang kamu inginkan?

Florian Diesch
sumber
4

tail memiliki dua implementasi untuk mengikuti dan menghasilkan data yang ditambahkan ke file

  • ikuti deskriptor file
  • ikuti file dengan nama tertentu

Dengan parameter -f, --followdan --follow=descriptor, tailikuti deskriptor file. Metode ini memungkinkan file untuk diikuti dengan penggantian nama tetapi pelacakan berhenti ketika file diputar (file baru dibuat dengan deskriptor file yang berbeda).

Saat mengikuti file yang diputar, gunakan --follow=nameatau -Fparameter yang sama dengan --follow=name --retry. Dengan cara tailitu secara berkala akan membuka kembali file untuk mengatasi kemungkinan rotasi.

Jawa
sumber
1

Saya pikir ccze adalah alat yang tepat untuk Anda.

Itu melakukan hal yang sama dari pewarnaan. Anda dapat menonton log bergulir ke bawah, tetapi lebih mudah dibaca, karena garis dicetak dengan warna (kesalahan merah, dan sebagainya). Anda dapat dengan cepat mencobanya dengan sesuatu seperti ini:

tail -f /var/log/syslog | ccze
Gelma
sumber