Queue de couleur des journaux Apache

Réponses:

10

J'utilise le multitail pour surveiller les journaux, cela inclut la coloration ainsi que la surveillance de plusieurs fichiers journaux fusionnés ou dans Windows. Essaie.

onik
la source
9

N'importe quelle raison pour laquelle vous ne pouvez pas utiliser quelque chose comme ça:

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

source: commandlinefu.com

JamesBarnett
la source
L'avez-vous testé? IL ne produit rien pour moi.
SabreWolfy
Cela filtre également la sortie, donc toute ligne sans KEYWORDsera ignorée.
Michal Mau
L'OP semble impliquer qu'il cherche un mot-clé ou des mots. À moins que le fichier soit de nature multiligne (ce qui n'est généralement pas le cas des journaux Apache), cette réponse est suffisante.
Garrett
4

Trouvé ceci: http://fixunix.com/unix/83044-tail-color.html

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

Cela ne fonctionne que sur les terminaux ANSI, mais tous les autres ont pratiquement disparu. \ e [... m iste la séquence d'échappement ANSI SGR "sélectionner le rendu graphique". Le "..." peut être remplacé par des entiers séparés par des points-virgules, avec la signification:

0: tous les attributs désactivés 1: gras 31: premier plan rouge 43: arrière-plan jaune

"mot-clé", bien sûr, peut être n'importe quelle expression régulière perl:

(foo | bar) mettez en surbrillance les chaînes foo et bar \ b ((foo | bar) \ b mettez en surbrillance les mots foo et bar. \ b ((foo | bar) \ b. mettez en surbrillance la ligne entière qui contient les mots foo ou bar

Ou, en toute simplicité, installez simplement colortailIts probablement dans votre repo préféré (dag for CentOS)

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

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

Grizly
la source
Ouais, le multitail est le meilleur
Grizly
3

J'utilise un petit script avec des combinaisons grep pour obtenir des couleurs:

#!/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 "***|$"

Le fait est que chaque grep chaîné ajoute une couleur différente. Le résultat est donc quelque chose comme: Journal Apache avec quelques couleurs

DavidEG
la source
0

Plug sans vergogne : j'ai écrit un outil appelé TxtStyle qui fait quelque chose de similaire aux options mentionnées précédemment. Vous pouvez l'exécuter comme suit:

tail -f /var/log/syslog | txts --regex '\d+'

Vous pouvez également définir des styles nommés dans le fichier de configuration ( ~/.txts.conf) et l'utiliser comme ceci:

ifconfig | txts --name ifconfig

(le ifconfigstyle est défini hors de la boîte)

armandino
la source
0

Il y a une caractéristique que je n'ai pas vue dans ces coloriseurs - mettre en évidence les temps de réponse (temps plus élevé -> couleur plus alarmante). La prise en charge de 256 couleurs dans les émulateurs de terminaux modernes pourrait être utile ici.

sendmoreinfo
la source
0

Une autre astuce grep utile pour afficher toutes les sorties mais colorer le MOT-CLÉ sélectionné est:

tail -f FILE | grep --color=always -E "$|REGEXP"
Felipe Alvarez
la source