Monitorowanie dzienników apache za pomocą tail –f
tendencji staje się po pewnym czasie bardzo frustrujące dla oczu. Czy są jakieś narzędzia / opcje do pokolorowania wyników dziennika? Może zasygnalizować FATAL czerwonym, itp ...
Monitorowanie dzienników apache za pomocą tail –f
tendencji staje się po pewnym czasie bardzo frustrujące dla oczu. Czy są jakieś narzędzia / opcje do pokolorowania wyników dziennika? Może zasygnalizować FATAL czerwonym, itp ...
Odpowiedzi:
Używam multitaila do monitorowania dzienników, obejmuje to również kolorowanie, a także monitorowanie wielu plików dziennika scalone lub w systemie Windows. Spróbuj.
Jakikolwiek powód, dla którego nie możesz użyć czegoś takiego:
tail -f FILE | grep --color=always KEYWORD
źródło: commandlinefu.com
KEYWORD
zostanie zignorowana.
Znaleziono to: http://fixunix.com/unix/83044-tail-color.html
tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'
Działa to tylko na terminalach ANSI, ale wszystkie inne praktycznie wyginęły. \ e [... jest sekwencją specjalną ANSI SGR „wybierz interpretację graficzną”. „...” można zastąpić niektórymi liczbami całkowitymi oddzielonymi średnikami, co oznacza:
0: wszystkie atrybuty wyłączone 1: pogrubienie 31: pierwszy plan czerwony 43: tło żółty
„słowo kluczowe” może oczywiście być dowolnym wyrażeniem regularnym Perla:
(foo | bar) zaznacz ciągi foo i bar \ b ((foo | bar) \ b podświetl słowa foo i bar. \ b ((foo | bar) \ b. podświetl cały wiersz zawierający słowa foo lub bar
Lub w prosty sposób, po prostu zainstaluj colortail
Jest to prawdopodobnie w Twoim ulubionym repozytorium (dag dla CentOS)
http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html
Używam małego skryptu z kombinacjami grep, aby uzyskać kolory:
#!/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 "***|$"
Chodzi o to, że każdy połączony grep dodaje inny kolor. Wynik jest więc taki:
Bezwstydna wtyczka: napisałem narzędzie o nazwie TxtStyle, które robi coś podobnego do wspomnianych wcześniej opcji. Możesz uruchomić go w następujący sposób:
tail -f /var/log/syslog | txts --regex '\d+'
Możesz także zdefiniować nazwane style w pliku konfiguracyjnym ( ~/.txts.conf
) i używać go w następujący sposób:
ifconfig | txts --name ifconfig
( ifconfig
styl jest zdefiniowany po wyjęciu z pudełka)
Jest jedna cecha, której nie widziałem w tych barwnikach - podkreślenie czasów reakcji (dłuższy czas -> bardziej alarmujący kolor). Przydaje się tutaj 256-kolorowa obsługa nowoczesnych emulatorów terminali.
Inną przydatną sztuczką grep, aby wyświetlić wszystkie dane wyjściowe, ale pokolorować wybrane SŁOWO KLUCZOWE, jest:
tail -f FILE | grep --color=always -E "$|REGEXP"