Cor cauda dos logs do Apache

9

Monitorar logs do apache com tail –f tends fica muito frustrante para os olhos depois de um tempo. Existe alguma ferramenta / opções para colorir as saídas de log? Talvez sinalize FATAL com vermelho, etc ...

    
por Cherian 03.09.2010 / 07:12

7 respostas

10

Estou usando o multitail para monitorar os registros, incluindo a coloração e o monitoramento de vários arquivos de log mesclados ou no Windows. Experimente.

    
por 03.09.2010 / 07:18
9

Qualquer motivo para você não poder usar algo assim:

tail -f FILE | grep --color=always KEYWORD

source: commandlinefu.com

    
por 04.02.2013 / 22:17
4

Encontrou isto: link

tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'

Isso só funciona nos terminais ANSI, mas todos os outros se tornaram virtualmente extinto. \ e [... é a sequência de escape ANSI SGR "select graphic rendition ". O" ... "pode ser substituído por um ponto-e-vírgula separado inteiros, com o significado:

0: todos os atributos desativados 1: negrito 31: primeiro plano vermelho 43: fundo amarelo

"palavra-chave", é claro, pode ser qualquer expressão regular perl:

(foo | bar) destacar as strings foo e bar \ b ((foo | bar) \ b destaque as palavras foo e bar . \ b ((foo | bar) \ b. realça toda a linha que contém as palavras foo ou bar

Ou, o caminho mais fácil, instale o colortail dele provavelmente no seu repo favorito (dag para o CentOS)

link

link

    
por 03.09.2010 / 07:18
3

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. Então o resultado é algo como:

    
por 17.02.2013 / 00:01
0

Plug sem vergonha: eu escrevi uma ferramenta chamada TxtStyle que faz algo parecido com as 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á-los da seguinte forma:

ifconfig | txts --name ifconfig

( ifconfig style é definido fora da caixa)

    
por 04.02.2013 / 21:53
0

Há um recurso que eu não vi nesses colorizadores - destaque os tempos de resposta (maior tempo - > cor mais alarmante). Suporte a 256 cores em emuladores de terminal modernos pode ser útil aqui.

    
por 17.02.2013 / 01:39
0

Outro truque útil do grep para mostrar todas as saídas, mas colorir o KEYWORD selecionado, é: tail -f FILE | grep --color = sempre -E "$ | REGEXP"

    
por 27.05.2015 / 07:32