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.


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


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/



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


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)


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.


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"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.