Mac Console - кольорові повідомлення конкретного журналу


2

Я часто використовую консоль Mac для контролю журналів своїх веб-серверів. Ці журнали досить багатослівні, і прокручувати їх стає важко, щоб стежити за помилками.

Кожне повідомлення у журналі має формат [YYYY-MM-DD HH: MM: SS.sss] <INFO, WARN, ERROR> <Ім'я теми>

Чи є спосіб встановити консоль для кольорового коду повідомлень, що мають тег помилок? Якщо ні, то який ідеальний спосіб просіяти ці колоди? Зауважте, що часто важливо подивитися, що сталося безпосередньо перед помилкою.

Відповіді:


2

Ви можете використовувати термінал і цю функцію оболонки:

cless () 
{ 
   # less-like function that colors specified word
   # 'while read' reads every line and saves it to variable $REPLY
    while read; do
        # If line contains the word to highlight, grep with option --color...
        if [ $(echo $REPLY | grep -c $1) -eq 1 ]; then
            echo $REPLY | grep --color=always $1;
        else
        # ... otherwise simply output the line
            echo $REPLY;
        fi;
    # continue until end of file, paging with 'less'
    done < $2 | less -R
}

Потрібно два аргументи, слово для виділення та файл для розбору.

Щоб використовувати його, відкрийте Terminal у програмах> Утиліти> Термінал та введіть;

$ function cless { while read; do if [ $(echo $REPLY | grep -c $1) -eq 1 ]; then echo $REPLY | grep --color=always $1; else echo $REPLY; fi; done < $2 | less -R; }
$ cless ERROR /path/to/my/logfile.log

Як і у випадку less, використовуйте SPACEабо Fдля прокручування вперед та Bдля прокрутки назад. Якщо слово, яке ви зазвичай шукаєте, - ПОМИЛКА, створіть псевдонім:

$ alias cerror='cless ERROR'
$ cerror /path/to/my/logfile.log

Щоб автоматично завантажувати функцію та псевдонім під час запуску терміналу, додайте ці рядки до свого ~/.bashrcфайлу:

function cless { while read; do if [ $(echo $REPLY | grep -c $1) -eq 1 ]; then echo $REPLY | grep --color=always $1; else echo $REPLY; fi; done < $2 | less -R; }
alias cerror='cless ERROR'

і перезавантажте його:

$ . ~/.bashrc

Якщо ви хочете регістронезавісімий пошук, замінити grepз grep -i(наприклад, grep -c $1став би grep -i -c $1).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.