Il monitoraggio dei registri apache con tail –f
tende diventa molto frustrante per gli occhi dopo un po '. Esistono strumenti / opzioni per colorare gli output del registro? Forse segnale FATAL con rosso, ecc ...
Il monitoraggio dei registri apache con tail –f
tende diventa molto frustrante per gli occhi dopo un po '. Esistono strumenti / opzioni per colorare gli output del registro? Forse segnale FATAL con rosso, ecc ...
Risposte:
Qualsiasi motivo per cui non puoi usare qualcosa del genere:
tail -f FILE | grep --color=always KEYWORD
fonte: commandlinefu.com
KEYWORD
verrà ignorata.
Trovato questo: http://fixunix.com/unix/83044-tail-color.html
tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'
Funziona solo su terminali ANSI, ma tutti gli altri si sono praticamente estinti. \ e [... m è la sequenza di escape ANSI SGR "seleziona rendering grafico". Il "..." può essere sostituito da alcuni numeri interi separati da punto e virgola, con il significato:
0: tutti gli attributi disattivati 1: grassetto 31: primo piano rosso 43: sfondo giallo
"parola chiave", ovviamente, può essere qualsiasi espressione regolare perl:
(foo | bar) evidenzia le stringhe foo e bar \ b ((foo | bar) \ b evidenzia le parole foo e bar. \ b ((foo | bar) \ b. evidenzia l'intera riga che contiene le parole foo o bar
O, in modo semplice, basta installare colortail
Its probabilmente nel tuo repository preferito (dag for CentOS)
http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html
Uso un piccolo script con combinazioni grep per ottenere alcuni colori:
#!/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 "***|$"
Il punto è che ogni grep incatenato aggiunge un colore diverso. Quindi il risultato è qualcosa di simile:
Spina senza vergogna: ho scritto uno strumento chiamato TxtStyle che fa qualcosa di simile alle opzioni menzionate in precedenza. Puoi eseguirlo come segue:
tail -f /var/log/syslog | txts --regex '\d+'
Puoi anche definire gli stili nominati nel file config ( ~/.txts.conf
) e usarlo in questo modo:
ifconfig | txts --name ifconfig
(lo ifconfig
stile è definito fuori dalla scatola)
C'è una caratteristica che non ho visto in quei coloranti: evidenziare i tempi di risposta (tempi più lunghi -> colori più allarmanti). Il supporto a 256 colori nei moderni emulatori di terminali potrebbe essere utile qui.
Un altro utile trucco grep per mostrare tutto l'output ma colorare la PAROLA CHIAVE selezionata è:
tail -f FILE | grep --color=always -E "$|REGEXP"