Coda di colore dei registri di Apache


Risposte:


10

Sto usando multitail per monitorare i log, include la colorazione e il monitoraggio di più file di log sia uniti che in Windows. Provaci.


9

Qualsiasi motivo per cui non puoi usare qualcosa del genere:

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

fonte: commandlinefu.com


L'hai provato? L'IT non produce nulla per me.
SabreWolfy,

Questo filtra anche l'output, quindi qualsiasi linea senza KEYWORDverrà ignorata.
Michal Mau,

L'OP sembra implicare che sta cercando una o più parole chiave. A meno che il file non sia di natura multilinea (che in genere non sono i registri di Apache), questa risposta è sufficiente.
Garrett,

4

Trovato questo: http://fixunix.com/unix/83044-tail-color.html

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

Funziona solo su terminali ANSI, ma tutti gli altri si sono praticamente estinti. \ e [... m è la sequenza di escape ANSI SGR "seleziona rendering grafico". Il "..." può essere sostituito da alcuni numeri interi separati da punto e virgola, con il significato:

0: tutti gli attributi disattivati ​​1: grassetto 31: primo piano rosso 43: sfondo giallo

"parola chiave", ovviamente, può essere qualsiasi espressione regolare perl:

(foo | bar) evidenzia le stringhe foo e bar \ b ((foo | bar) \ b evidenzia le parole foo e bar. \ b ((foo | bar) \ b. evidenzia l'intera riga che contiene le parole foo o bar

O, in modo semplice, basta installare colortailIts probabilmente nel tuo repository preferito (dag for CentOS)

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

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



Sì, multitail è il migliore
Grizly

3

Uso un piccolo script con combinazioni grep per ottenere alcuni colori:

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

Il punto è che ogni grep incatenato aggiunge un colore diverso. Quindi il risultato è qualcosa di simile: Registro di Apache con alcuni colori


0

Spina senza vergogna: ho scritto uno strumento chiamato TxtStyle che fa qualcosa di simile alle opzioni menzionate in precedenza. Puoi eseguirlo come segue:

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

Puoi anche definire gli stili nominati nel file config ( ~/.txts.conf) e usarlo in questo modo:

ifconfig | txts --name ifconfig

(lo ifconfigstile è definito fuori dalla scatola)


0

C'è una caratteristica che non ho visto in quei coloranti: evidenziare i tempi di risposta (tempi più lunghi -> colori più allarmanti). Il supporto a 256 colori nei moderni emulatori di terminali potrebbe essere utile qui.


0

Un altro utile trucco grep per mostrare tutto l'output ma colorare la PAROLA CHIAVE selezionata è:

tail -f FILE | grep --color=always -E "$|REGEXP"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.