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.