Кольоровий хвіст з журналів Apache


9

Моніторинг журналів апашей із tail –fтенденцією стає дуже неприємним для очей через деякий час. Чи є якийсь інструмент / параметри для забарвлення результатів журналу? Можливо, сигнал FATAL з червоним тощо ...


Відповіді:


10

Я використовую мультирейл для моніторингу журналів, він включає забарвлення, а також багаторазовий моніторинг файлів або об'єднаних, або у Windows. Спробувати.


9

Будь-яка причина, чому ви не можете використовувати щось подібне:

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

джерело: commandlinefu.com


Ви тестували це? ІТ мені нічого не виводить.
SabreWolfy

Це також фільтрує вихід, тому будь-який рядок без KEYWORDбуде ігноруватися.
Міхал Мау

ОП, здається, означає, що він шукає ключове слово або слова. Якщо файл не має багатолінійного характеру (яких зазвичай не є журнали apache), цього відповіді достатньо.
Гаррет

4

Виявив це: http://fixunix.com/unix/83044-tail-color.html

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

Це працює лише на терміналах ANSI, але всі інші практично вимерли. \ e [... m ist послідовність аварійної послідовності ANSI SGR "вибрати графічне відтворення". Значення "..." можна замінити деякими цілими колами, розділеними крапкою з комою, зі значенням:

0: усі атрибути вимкнено 1: жирний 31: передній план червоний 43: фон жовтий

Звичайно, "ключове слово" може бути будь-яким регулярним виразом perl:

(foo | bar) виділити рядки foo і bar \ b ((foo | bar) \ b виділити слова foo та bar. \ b ((foo | bar) \ b. виділити весь рядок, що містить слова foo або bar

Або найпростіший спосіб - просто встановити colortailйого, ймовірно, у вашому улюбленому репо (даг для CentOS)

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

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



Так, найкращий
мультирейл

3

Я використовую невеликий сценарій із поєднаннями grep, щоб отримати декілька кольорів:

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

Справа в тому, що кожен прикутий грейп додає різного кольору. Таким чином, результат виглядає приблизно так: Журнал Apache з деякими кольорами


0

Безсоромний штекер: я написав інструмент під назвою TxtStyle, який робить щось подібне до варіантів, згаданих раніше. Ви можете запустити його наступним чином:

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

Ви також можете визначити названі стилі у файлі config ( ~/.txts.conf) та використовувати його так:

ifconfig | txts --name ifconfig

( ifconfigстиль визначений поза полем)


0

Є одна особливість, яку я не бачив у цих колоризаторах - виділити час реакції (більший час -> більш тривожний колір). Тут може бути корисна 256-кольорова підтримка в сучасних термінальних емуляторах.


0

Ще один корисний трюк для відображення всіх результатів, окрім кольорів, вибраного KEYWORD:

tail -f FILE | grep --color=always -E "$|REGEXP"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.