Soluzione 1:
Sto usando multitail per monitorare i log, include la colorazione e il monitoraggio di più file di log sia uniti che in Windows. Fai un tentativo.
Soluzione 2:
Qualsiasi motivo per cui non puoi usare qualcosa del genere:
tail -f FILE | grep --color=always KEYWORD
fonte: commandlinefu.com
Soluzione 3:
Ho 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 sui terminali ANSI, ma tutti gli altri sono praticamente estinti. \e[...m è la sequenza di escape ANSI SGR "select graphicrendition". Il "..." può essere sostituito da alcuni numeri interi separati da punto e virgola, con il significato:
0 :tutti gli attributi off1 :grassetto31 :primo piano rosso43 :sfondo giallo
"parola chiave", ovviamente, può essere qualsiasi espressione regolare di 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
Oppure, nel modo più semplice, basta installare colortail
È probabilmente nel tuo repository preferito (dag per CentOS)
http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html
http://joakimandersson.se/projects/colortail/
Soluzione 4:
Uso un piccolo script con combinazioni di 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 concatenato aggiunge un colore diverso. Quindi il risultato è qualcosa del tipo: