Memantau log apache dengan tail –f
kecenderungan menjadi sangat menyebalkan bagi mata setelah beberapa saat. Apakah ada alat / opsi untuk mewarnai keluaran log? Mungkin memberi sinyal FATAL dengan warna merah, dll ...
Memantau log apache dengan tail –f
kecenderungan menjadi sangat menyebalkan bagi mata setelah beberapa saat. Apakah ada alat / opsi untuk mewarnai keluaran log? Mungkin memberi sinyal FATAL dengan warna merah, dll ...
Jawaban:
Alasan mengapa Anda tidak dapat menggunakan sesuatu seperti ini:
tail -f FILE | grep --color=always KEYWORD
sumber: commandlinefu.com
KEYWORD
akan diabaikan.
Ditemukan ini: http://fixunix.com/unix/83044-tail-color.html
tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'
Ini hanya bekerja pada terminal ANSI, tetapi semua terminal lainnya telah hampir punah. \ e [... mukan urutan penyelamatan ANSI SGR "pilih rendisi grafik". "..." dapat digantikan oleh beberapa bilangan bulat yang dipisahkan titik koma, dengan artinya:
0: semua atribut mati 1: tebal 31: foreground red 43: background yellow
"kata kunci", tentu saja, dapat berupa perl ekspresi reguler:
(foo | bar) sorot string foo dan bar \ b ((foo | bar) \ b sorot kata foo and bar. \ b ((foo | bar) \ b. sorot seluruh baris yang berisi kata foo atau bar
Atau, dengan cara mudah, cukup instal colortail
Mungkin di repo favorit Anda (barang untuk CentOS)
http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html
Saya menggunakan skrip kecil dengan kombinasi grep untuk mendapatkan beberapa warna:
#!/bin/bash
shopt -s expand_aliases
alias grey-grep="GREP_COLOR='1;30' grep -E --color=always --line-buffered"
alias red-grep="GREP_COLOR='1;31' grep -E --color=always --line-buffered"
alias green-grep="GREP_COLOR='1;32' grep -E --color=always --line-buffered"
alias yellow-grep="GREP_COLOR='1;33' grep -E --color=always --line-buffered"
alias cyan-grep="GREP_COLOR='1;36' grep -E --color=always --line-buffered"
tail -1000f /var/log/apache2/error.log | grey-grep ".*PerformanceLogger.*|$" | cyan-grep "INFO|$" | yellow-grep "WARN|$" | red-grep "[ERROR].*|[FATAL].*|$" | green-grep "***|$"
Intinya adalah bahwa setiap grep dirantai menambahkan warna yang berbeda. Jadi hasilnya adalah seperti:
Shameless plug: Saya menulis alat bernama TxtStyle yang melakukan sesuatu yang mirip dengan opsi yang disebutkan sebelumnya. Anda dapat menjalankannya sebagai berikut:
tail -f /var/log/syslog | txts --regex '\d+'
Anda juga dapat mendefinisikan gaya yang dinamai dalam file config ( ~/.txts.conf
) dan menggunakannya seperti:
ifconfig | txts --name ifconfig
( ifconfig
gaya didefinisikan di luar kotak)
Ada satu fitur yang belum saya lihat di colorizers tersebut - sorot waktu respons (waktu yang lebih tinggi -> lebih banyak warna yang mengkhawatirkan). Dukungan 256 warna dalam emulator terminal modern dapat berguna di sini.
Trik grep lain yang berguna untuk menampilkan semua keluaran tetapi mewarnai KEYWORD yang dipilih adalah:
tail -f FILE | grep --color=always -E "$|REGEXP"