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.

Reply via email to