Ceci est une ancienne révision du document !
~~CLOSETOC~~
add-log - Ajouter des messages à un fichier log et dans la console
La gestion des inscriptions dans un fichier log ou l'affichage d'information dans la console sont des étapes cruciales dans un script. L'affichage console permet à un administrateur de savoir ce qu'il se passe en temps réel et les logs, après coup. Il est donc important d'inscrire et d'afficher les informations lorsque c'est nécessaire. C'est le but de cette fonction.
Script
<sxh bash># Fonction d'affichage en mode verbeux et inscription des logs add-log() {
# Variables pour la coloration syntaxique du mode verbeux GOOD="\e[92m" CRIT="\e[91m" WARN="\e[93m" INFO="\e[96m" UNKN="\e[95m" OFF="\e[39m"
# Variable date et heure
DATE=$(date '+%Y/%m/%d %H:%M:%S')
# Gestion des arguments pour la fonction
while [[ $# -gt 0 ]]
do
LOG_PARAM="$1"
case $LOG_PARAM in
# fichier de logs
-f|--file)
LOG="$2"
shift
shift
;;
# Niveau de log
-l|--level)
LEVEL="$2"
shift
shift
;;
# Message
-m|--message)
MESSAGE="$2"
shift
shift
;;
# Affichage console
-v|--verbose)
VERBOSE="TRUE"
shift
;;
# Autres
*)
echo -e "$DATE $CRIT[CRIT]$OFF Erreur d'arguments pour la fonction$CRIT add-log$OFF. Merci de vérifier votre code."
esac
done
# Enregistrement dans le fichier log
if [ -f $LOG ]
then
echo "$DATE [$LEVEL] $MESSAGE" >> $LOG
else
touch $LOG
echo "$DATE [$LEVEL] $MESSAGE" >> $LOG
fi
# Affichage console en cas de mode verbeux
if [ "$VERBOSE" == "TRUE" ]
then
case $LEVEL in
"GOOD")
echo -e "$DATE $GOOD[$LEVEL]$OFF $MESSAGE"
;;
"WARN")
echo -e "$DATE $WARN[$LEVEL]$OFF $MESSAGE"
;;
"CRIT")
echo -e "$DATE $CRIT[$LEVEL]$OFF $MESSAGE"
;;
"INFO")
echo -e "$DATE $INFO[$LEVEL]$OFF $MESSAGE"
;;
"UNKN")
echo -e "$DATE $UNKN[$LEVEL]$OFF $MESSAGE"
;;
esac
fi
}
Discussion