Nasza praca wiąże się z przeglądaniem logów. Często podglądamy je na bieżąco poleceniem tail -f, czarno-biała treść loga jest często nieczytelna. Poniższe rozwiązanie szybko pokoloruje nam nasze logi.
Poniższy skrypt wykorzystuje właściwie dwa polecenia z konsoli: sed oraz tput. Używam go do kolorowania logów z jboss’a. Można go szybko dostosować modyfikując wyrażenia regularne i definicje kolorów, warto też sprawdzić możliwości sed’a, tutaj użyte to zaledwie ułamek jego możliwości.
Tworzymy skrypt jb.logColorizer o zawartości:
#!/bin/bash red=`tput setaf 1` green=`tput setaf 2` white=`tput setaf 7` yellow=`tput setaf 3` bold=`tput bold` reset=`tput sgr0` sed \ -e "s|^\(.*INFO.*\)|$reset$white\1|" \ -e "s|^\(.*WARNING.*\)|$reset$yellow\1|" \ -e "s|^\(.*ERROR.*\)|$reset$red\1|" \ -e "s|^\(.*SEVERE.*\)|$reset$bold$red\1|" \ -e "s|^\(.*DEBUG.*\)|$reset$green\1|"
Wywołujemy przekazując strumień z tail -f:
$ tail -f /path_to_my_log/server.log | /path_to_my_scripts/jb.logColorizer
Linki:
