Quelques suggestions pour essayer de faire maigrir eaglediag
* Affirmer que CMDECHO est une commande echo avec éventullement quelques
fioritures (CMDECHO="/bin/echo" ou bien CMDECHO="echo -e", etc).
Cela permettrait d'écrire $CMDECHO -n et donc de supprimer $CMDECHO_lg
* Idem pour echoLog_1lg (echoLog -n marche bien)
* chmod 777 ${NEWBIE_FILE}. 644 ou 666 suffise je pense, même pour le Newbie ;-)
* Supprimer la variable TMP_FILE : l'option -o affecte directement LOG_FILE.
Dans la phase d'initialisation un test unique : "est-ce que je peux écrire le
fichier de logs ?" (utile si on est pas root).
* Supprimer les commentaires "(mcoolive fix)" ;-)
* Et surtout je propose de supprimer echoLog en faisant ainsi :
### Ancien code qui affiche les infos
echoLog "Infos"
code1 | tee -a $LOG_FILE
code2 | tee -a $LOG_FILE
echoNewbie "Infos non enregistrées dans $LOG_FILE"
### Nouveau
function fun_qui_affiche ()
{
## &1 -> LOG_FILES -> STDOUT ; &2 -> STDERR ; &3 -> STDOUT
$CMDECHO "Infos"
code1
code2
echoNewbie "Infos non enregistrées dans $LOG_FILE" >&3
}
(exec 3>&1; fun_qui_affiche | tee -a $LOG_FILE)
Comme on logue presque tout, c'est beacoup plus concis (et plus économique
aussi, un seul process tee au lieu d'un par message).
J'avais pensé à faire de même pour le fichier de log NEWBIE_FILE, mais on a
alors deux tees en parallèle sans aucun mécanisme de synchro et les messages
se mélangent sur la sortie standard.
mcoolive.