Kolor ogona dzienników Apache

Odpowiedzi:

10

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.

onik
źródło
9

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

JamesBarnett
źródło
Testowałeś to? IT nic dla mnie nie wyświetla.
SabreWolfy,
Filtruje również wyjście, więc każda linia bez KEYWORDzostanie zignorowana.
Michał Mau,
OP wydaje się sugerować, że szuka słowa kluczowego lub słów. O ile plik nie ma charakteru wielowierszowego (które zazwyczaj nie są dziennikami apache), ta odpowiedź jest wystarczająca.
Garrett
4

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 colortailJest 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

http://joakimandersson.se/projects/colortail/

Grizly
źródło
Tak, najlepsza jest multitail
Grizly
3

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: Dziennik Apache z niektórymi kolorami

DavidEG
źródło
0

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

( ifconfigstyl jest zdefiniowany po wyjęciu z pudełka)

armandino
źródło
0

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.

sendmoreinfo
źródło
0

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"
Felipe Alvarez
źródło