Log warna ekor Apache

Jawaban:

10

Saya menggunakan multitail untuk memantau log, ini termasuk pewarnaan serta beberapa pemantauan logfile baik digabung atau di windows. Cobalah.

onik
sumber
9

Alasan mengapa Anda tidak dapat menggunakan sesuatu seperti ini:

tail -f FILE | grep --color=always KEYWORD

sumber: commandlinefu.com

JamesBarnett
sumber
Apakah Anda mengujinya? ITU tidak menghasilkan apa pun untuk saya.
SabreWolfy
Ini juga menyaring output, sehingga setiap baris tanpa KEYWORDakan diabaikan.
Michal Mau
OP tampaknya menyiratkan dia mencari kata kunci atau kata-kata. Kecuali file tersebut bersifat multiline (yang log apache umumnya tidak), maka jawaban ini cukup.
Garrett
4

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 colortailMungkin di repo favorit Anda (barang untuk CentOS)

http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html

http://joakimandersson.se/projects/colortail/

Grizly
sumber
Ya, multitail adalah yang terbaik
Grizly
3

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: Log Apache dengan beberapa warna

DavidEG
sumber
0

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

( ifconfiggaya didefinisikan di luar kotak)

armandino
sumber
0

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.

sendmoreinfo
sumber
0

Trik grep lain yang berguna untuk menampilkan semua keluaran tetapi mewarnai KEYWORD yang dipilih adalah:

tail -f FILE | grep --color=always -E "$|REGEXP"
Felipe Alvarez
sumber