Petit gestionnaire de log, permet d'utiliser plusieurs niveaux de message dans un script.
loglevel () { # $1 est le loglevel désiré # $level est l'index de ce loglevel dans la liste des loglevels typeset level=$LOGLEVELS[(i)$1] # pour tous les loglevels inferieurs a celui demandé # ( ${^LOGLEVELS[1,$level - 1]} ) # je genere des fonctions vides # eval $LOGLEVEL' () { };' # pour les autres, je génère des fonctions qui écrivent # les paramètres dans sterr ( print -u2 ) # eval $LOGLEVEL' () { print -u2 $* };' eval ${^LOGLEVELS[1,$level - 1]}' () { };' ${^LOGLEVELS[$level,-1]}' () { print -u2 $* };' }
Definition des différents niveaux d'erreur
LOGLEVELS=( DEBUG{3..1} DEBUG WARN VERBOSE INFO QUIET )
Utilisation
loglevel QUIET QUIET message sans importance DEBUG message de debug
shell/zsh/tips/loglevels.txt · Dernière modification: 2006/10/26 11:58 (modification externe)