Farbende der Apache-Protokolle


9

Das Überwachen von Apache-Protokollen mit tail –fTendenzen wird für die Augen nach einer Weile sehr frustrierend. Gibt es ein Tool / Optionen zum Färben der Protokollausgaben? Vielleicht signalisieren Sie FATAL mit rot, etc ...


Antworten:


10

Ich verwende Multitail zum Überwachen von Protokollen. Es umfasst das Färben sowie die Überwachung mehrerer Protokolldateien, entweder zusammengeführt oder in Windows. Versuche es.


9

Jeder Grund, warum Sie so etwas nicht verwenden können:

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

Quelle: commandlinefu.com


Hast du es getestet? Die IT gibt nichts für mich aus.
— SabreWolfy

Dies filtert auch die Ausgabe, also jede Zeile ohne KEYWORD ignoriert wird.
— Michal Mau

Das OP scheint zu implizieren, dass er nach einem Schlüsselwort oder Wörtern sucht. Sofern die Datei nicht mehrzeilig ist (was Apache-Protokolle im Allgemeinen nicht sind), ist diese Antwort ausreichend.
— Garrett

4

Gefunden dies: http://fixunix.com/unix/83044-tail-color.html

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

Dies funktioniert nur auf ANSI-Terminals, aber alle anderen sind praktisch ausgestorben. \ e [... m ist die ANSI-Escape-Sequenz SGR "Grafikwiedergabe auswählen". Das "..." kann durch einige durch Semikolons getrennte Ganzzahlen ersetzt werden, mit der Bedeutung:

0: alle Attribute aus 1: fett 31: Vordergrund rot 43: Hintergrund gelb

"Schlüsselwort" kann natürlich jeder reguläre Perl-Ausdruck sein:

(foo | bar) Markieren Sie die Zeichenfolgen foo und bar \ b ((foo | bar) \ b markieren Sie die Wörter foo und bar. \ b ((foo | bar) \ b. Markieren Sie die gesamte Zeile, die die Wörter foo oder bar enthält

Oder, auf einfache Weise, installieren Sie es einfach colortailin Ihrem Lieblings-Repo (dag für CentOS).

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

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



Ja, Multitail ist am besten
— Grizly

3

Ich benutze ein kleines Skript mit Grep-Kombinationen, um einige Farben zu erhalten:

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

Der Punkt ist, dass jeder verkettete Grep eine andere Farbe hinzufügt. Das Ergebnis ist also ungefähr so: Apache-Protokoll mit einigen Farben


0

Schamloser Plug: Ich habe ein Tool namens TxtStyle geschrieben , das etwas Ähnliches wie die zuvor genannten Optionen tut. Sie können es wie folgt ausführen:

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

Sie können auch benannte Stile in der Konfigurationsdatei ( ~/.txts.conf) definieren und wie folgt verwenden:

ifconfig | txts --name ifconfig

( ifconfigStil ist sofort definiert)


0

Es gibt eine Funktion, die ich in diesen Farbgebern nicht gesehen habe: Markieren Sie die Reaktionszeiten (höhere Zeit -> alarmierendere Farbe). Eine 256-Farben-Unterstützung in modernen Terminalemulatoren könnte hier nützlich sein.


0

Ein weiterer nützlicher Grep-Trick, um alle Ausgaben außer Farbe des ausgewählten KEYWORD anzuzeigen, ist:

tail -f FILE | grep --color=always -E "$|REGEXP"
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.