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.

<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

}

Entrer votre commentaire. La syntaxe wiki est autorisée:
 
  • bash_addlog.1581956696.txt.gz
  • Dernière modification : 2020/02/17 15:24
  • (modification externe)