Pokud provozujete Domino server na Linuxu, jistě sledujete výstup z logu přes nějakého telnetového klienta, jako je PuTTY.
Log si pak necháváte zobrazit typicky pomocí příkazu tail -f /var/log/domino/notes.log. Výstupem je pak klasické bílé písmo na černém pozadí, což je nepřehledné a špatně se v tom hledají informace. Obzvláště když vám log běží na druhém monitoru, uvítali byste jistě lepší vypovídací schopnosti toho výpisu.
Řešení existuje, jmenuje se Multitail. Pokud zavoláte klasický tail přes tuto utilitku, zobrazí vám log barevně, a to podle konfigurace.
Program můžete stáhnout zde. Je to klasický rpm balíček, provozujeme Domino na SLES. Instalátor vám vytvoří konfigurační soubor v /etc/multitail.conf, kde jsou pro každý typ logu definována barevná schémata. Konfigurační soubor si otevřete pro editaci třeba přes mcedit a vložte novou sekci colorscheme pro domino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# domino
colorscheme:domino:IBM Lotus Domino
#cs_re:blue|blue,,bold:..:..:..
#cs_re_s:,,bold:..:..:.. [^ ]* ([A-z0-9]*)
cs_re:red,,inverse:(.*error.*)?(.*Error.*)?(.*Entry not found in index.*)?(.* .nable.*)?(.*arning.*)?(.*not listed in Domino Directory)?
cs_re:magenta,,inverse:.*ATTEMPT TO ACCESS DATABASE .* was denied.*
cs_re:red,,bold:(Jiri Krakora)?(.*krakora@.*)?
cs_re:yellow:( [a-zA-Z0-9]+ [a-zA-Z0-9]+/[a-zA-Z0-9]+/Alliance/CZ)+
cs_re:magenta,,bold:([a-zA-Z0-9_\.-]+@[a-zA-Z0-9_\.-]+)
cs_re:green,,bold:(added [0-9]+ document\(s\))?
cs_re:red,,bold:(deleted [0-9]+ document\(s\))?
cs_re:white,,bold:(updated [0-9]+ document\(s\))?
cs_re:cyan:(.*Replicator.*)?(.* Closed session for .*)?
cs_re:cyan,,bold:(.*Pushing.*)?(.*Pulling.*)?
cs_re:cyan,,inverse:(.* Opened session for .*)?
cs_re:green:.*SMTP Server.*
cs_re:magenta:.*emote console.*
cs_re:yellow,,inverse:(^sh.*)?(^tell.*)?(^restart.*)?(^dbcache.*)?(^load.*)?(^set.*)?(^stop.*)?(^start.*)?(^trace.*)?
cs_re:yellow:.*Admin Process: .*
cs_re:red:(.*Agent Manager: .*)?(.*AMgr: .*)?
cs_re:red,white:.*Agent printing: .*
cs_re:blue,,bold:.*Router.*
cs_re:white,,bold:^ .*
cs_re:green:(.*tarted.*)?(.*oaded.*)?(.*nitialized.*)?(.*Done.*)?(.*done.*)? |
Jak sami vidíte, schéma se definuje pomocí klasických unix-like regulárních výrazů, nic složitého.
Každá definice je umístěna na svém řádku, uvozena je řetězcem cs_re:, který je povinný. Následuje definice barvy písma, těch je osm – blue, red, yellow, white, magenta, green, cyan, . Další je tučnost textu a definice inverze – tedy zda se z barvy písma má stát barva pozadí. Pak dvojtečka a samotný regulární výraz, který ovlivňuje výběr.
Mám tam dva řádky, které definují mé jméno v organizační struktuře a v e-mail adrese a organizační strukturu firmy jako takovou. Mé jméno se ve výpisu zobrazí výraznou červenou barvou, jakékoliv jméno v hierarchickém formátu zase žlutě. Ostatní e-mail adresy budou zvýrazněny modře. To jen na ukázku, co všechno to dovede, samozřejmě si to změňte, nebo smažte – já se asi ve vašem logu vyskytovat nebudu.
Pak stačí zavolat místo
tail -f /var/log/domino/notes.log
příkaz
multitail -cS domino /var/log/domino/notes.log
K tomu se také hodí jednoduchý skriptík, abyste nemuseli neustále psát tak dlouhý příkaz. Vytvořte si /usr/local/bin/tail-log, do kterého vepište následující kód.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/sh
. /etc/profile
DOMINO_LOG='-cS domino /var/log/domino/notes.log'
SYSTEM_LOG='-cS syslog /var/log/messages'
MYCMD=`which multitail`
MYCMD="${MYCMD} -s 2 "
case $1 in
"domino")<->MYCMD="${MYCMD} ${DOMINO_LOG}" ;;
"system")<->MYCMD="${MYCMD} ${SYSTEM_LOG}" ;;
"all")<---->for i in "${DOMINO_LOG}" "${SYSTEM_LOG}" ; do
<------><------> MYCMD="${MYCMD} ${i}"
<------><------>done
<------><------>;;
*)<>echo "Usage: `basename $0` ( domino | system | all )"
<------>exit 0
<------>;;
esac
eval $MYCMD |
Pak je potřeba udělat ho spustitelným –> chmod 755 /usr/local/bin/tail-log, no a pak můžete spouštět log domina pohodlně:
tail-log domino
Komentování je uzavřeno.