Coloree la cola de los registros de Apache


Respuestas:


10

Estoy usando multitail para monitorear registros, incluye coloración y monitoreo de múltiples archivos de registro ya sea combinados o en Windows. Darle una oportunidad.


9

Cualquier razón por la que no puedes usar algo como esto:

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

fuente: commandlinefu.com


¿Lo probaste? No produce nada para mí.
— SabreWolfy

Esto también filtra la salida, por lo que cualquier línea sin KEYWORDse ignorará.
— Michal Mau

El OP parece estar implicando que está buscando una palabra clave o palabras. A menos que el archivo sea de naturaleza multilínea (que los registros de apache generalmente no lo son), esta respuesta es suficiente.
— Garrett

4

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 colortailEs probablemente en su repositorio favorito (dag para CentOS)

http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html

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



Sí, multitail es mejor
— Grizly

3

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: Registro de Apache con algunos colores


0

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 ifconfigestilo se define fuera de la caja)


0

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í.


0

Otro truco grep útil para mostrar toda la salida pero colorear la PALABRA CLAVE seleccionada es:

tail -f FILE | grep --color=always -E "$|REGEXP"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.