Monitorear los registros de apache con tail –f
tendencia se vuelve muy frustrante para los ojos después de un tiempo. ¿Hay alguna herramienta / opción para colorear los resultados del registro? Tal vez señale FATAL con rojo, etc.
Monitorear los registros de apache con tail –f
tendencia se vuelve muy frustrante para los ojos después de un tiempo. ¿Hay alguna herramienta / opción para colorear los resultados del registro? Tal vez señale FATAL con rojo, etc.
Respuestas:
Cualquier razón por la que no puedes usar algo como esto:
tail -f FILE | grep --color=always KEYWORD
fuente: commandlinefu.com
KEYWORD
se ignorará.
Encontré esto: http://fixunix.com/unix/83044-tail-color.html
tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'
Esto solo funciona en terminales ANSI, pero todos los demás se han extinguido prácticamente. \ e [...] es la secuencia de escape ANSI SGR "seleccionar representación gráfica". El "..." se puede reemplazar por algunos enteros separados por punto y coma, con el significado:
0: todos los atributos desactivados 1: negrita 31: primer plano rojo 43: fondo amarillo
"palabra clave", por supuesto, puede ser cualquier expresión regular perl:
(foo | bar) resalta las cadenas foo y bar \ b ((foo | bar) \ b resalta las palabras foo y bar. \ b ((foo | bar) \ b. resalta toda la línea que contiene las palabras foo o bar
O, de la manera fácil, simplemente instale colortail
Es probablemente en su repositorio favorito (dag para CentOS)
http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html
Utilizo un pequeño script con combinaciones grep para obtener algunos colores:
#!/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 "***|$"
El punto es que cada grep encadenado agrega un color diferente. Entonces el resultado es algo como:
Plug descarado: escribí una herramienta llamada TxtStyle que hace algo similar a las opciones mencionadas anteriormente. Puede ejecutarlo de la siguiente manera:
tail -f /var/log/syslog | txts --regex '\d+'
También puede definir estilos con nombre en el archivo de configuración ( ~/.txts.conf
) y usarlo así:
ifconfig | txts --name ifconfig
(el ifconfig
estilo se define fuera de la caja)
Hay una característica que no he visto en esos coloreadores: resaltar los tiempos de respuesta (mayor tiempo -> color más alarmante). El soporte de 256 colores en emuladores de terminales modernos podría ser útil aquí.
Otro truco grep útil para mostrar toda la salida pero colorear la PALABRA CLAVE seleccionada es:
tail -f FILE | grep --color=always -E "$|REGEXP"