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.


9

Alasan mengapa Anda tidak dapat menggunakan sesuatu seperti ini:

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

sumber: commandlinefu.com


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/



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


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)


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.


0

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

tail -f FILE | grep --color=always -E "$|REGEXP"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.