Monitorar os logs do apache com tail –f
tendências fica muito frustrante para os olhos depois de um tempo. Existem ferramentas / opções para colorir as saídas de log? Talvez sinalize FATAL com vermelho, etc ...
Monitorar os logs do apache com tail –f
tendências fica muito frustrante para os olhos depois de um tempo. Existem ferramentas / opções para colorir as saídas de log? Talvez sinalize FATAL com vermelho, etc ...
Respostas:
Qualquer motivo pelo qual você não pode usar algo como isto:
tail -f FILE | grep --color=always KEYWORD
fonte: commandlinefu.com
KEYWORD
será ignorada.
Encontrado: http://fixunix.com/unix/83044-tail-color.html
tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'
Isso funciona apenas em terminais ANSI, mas todos os outros se tornaram praticamente extintos. \ e [...] é a sequência de escape ANSI SGR "selecionar representação gráfica". O "..." pode ser substituído por alguns números inteiros separados por ponto e vírgula, com o significado:
0: todos os atributos desativados 1: negrito 31: primeiro plano vermelho 43: fundo amarelo
"keyword", é claro, pode ser qualquer expressão regular perl:
(foo | bar) realce as strings foo e bar \ b ((foo | bar) \ b realce as palavras foo e bar. \ b ((foo | bar) \ b. realce toda a linha que contém as palavras foo ou bar
Ou, da maneira mais fácil, basta instalar colortail
Está provavelmente no seu repositório favorito (dag for CentOS)
http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html
Eu uso um pequeno script com combinações grep para obter algumas cores:
#!/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 "***|$"
O ponto é que todo grep encadeado adiciona uma cor diferente. Portanto, o resultado é algo como:
Plugue sem vergonha: escrevi uma ferramenta chamada TxtStyle que faz algo semelhante às opções mencionadas anteriormente. Você pode executá-lo da seguinte maneira:
tail -f /var/log/syslog | txts --regex '\d+'
Você também pode definir estilos nomeados no arquivo de configuração ( ~/.txts.conf
) e usá-lo da seguinte maneira:
ifconfig | txts --name ifconfig
(o ifconfig
estilo é definido imediatamente)
Há um recurso que eu não vi nesses colorizadores - destaque os tempos de resposta (maior tempo -> cores mais alarmantes). O suporte de 256 cores em emuladores de terminal modernos pode ser útil aqui.
Outro truque útil do grep para mostrar toda a saída, mas colorir a KEYWORD selecionada é:
tail -f FILE | grep --color=always -E "$|REGEXP"