title: method to write in log files in a shell script
body: <p>I'm developing a couple of shell scripts and want to add an easy logging method. But till now the the function created only print the first log line. I have a terrible headache cause I cannot understand where is the problem</p>
  
  <p>The logging functions is so easy to develop and to understand:</p>
  
  <pre><code>LOG_FILE="creation.log"
  
  logit() 
  {
      echo "[${USER}][`date`] - ${*}" &gt;&gt; ${LOG_FILE}
  }
  </code></pre>
  
  <p>And some lines of the script.</p>
  
  <pre><code>    LOG_FILE="creation.log"
  
  logit() 
  {
      echo "[${USER}][`date`] - ${*}" &gt;&gt; ${LOG_FILE}
  }
  
  repImport()
  {
      # création des repertoires pour les répertoires d'export.
      mkdir -p acharger
      mkdir -p archives
  
      logit "repImport correctement crée."
  }
  
  repExport()
  {
      # création des repertoires pour les répertoires d'import.
      mkdir -p archives
      mkdir -p atraiter
  
      logit "repExport correctement crée."
  }
  
  array=(BNP_CB collection_XTL collection_QT sp xcl xtl pgi qnt visualr)
  
  logit "Array généré"
  
  REP_TEST="/tmp/jorge/modules"
  REP=${REP_TEST}        # Descomentar para hacer test.
  
  REP_LIV_VX="/tmp/jorge/modules/"
  
  
  # NOTE IMPORTANTE
  #------------------
  # Obligatoire créer avec l'user root le répertoire /home/pepsicash, après changer le propietaire pour cash --&gt; root /&gt; chown cash.mersi pepsicash/
  
  
  # deuxième partir (répertoires pour les fichiers)
  #----------------------------------------------------
  echo "Création des répertoires pour les fichiers"
  mkdir -p "${REP}""/journaux"    # originel: /home/pepsicash/journaux
  mkdir -p "${REP}""/data"        # originel: /home/pepsicash/data
  
  cd $REP/data            # originel: /home/pepsicash/data    
  mkdir -p imports
  mkdir -p exports
  mkdir -p tmpcft
  
  logit "Création des répertoires sur Exports"
  cd exports
  repExport
  cd ..
  
  logit "Création des répertoires sur Imports"
  cd imports
  
  for index in ${!array[*]}
  do
  
      if [ $index -eq 0 ]; 
      then
          if [ -d ${array[$index]} ]; then
              logit "El répertoire ENCAISSEMENTS existe déjà."
          else
              logit "Le répertoire n'existe pas."
              mkdir -p ENCAISSEMENTS
              logit "Répertoire ENCAISSEMENTS crée correctement."
          fi
  
          cd ENCAISSEMENTS
          repImport
          logit "Répertoire ENCAISSEMENTS crée, CP -&gt; BNP_CB "
          cd ..
  
          if [ -d ${array[$index]} ]; then
              logit "El répertoire IMPAYES existe déjà."
          else
              logit "Le répertoire n'existe pas."
              mkdir -p IMPAYES
              logit "Répertoire IMPAYES crée correctement."
          fi
  
          cd IMPAYES
          repImport
          logit "Répertoire ENCAISSEMENTS crée, CP -&gt; BNP_CB "
          cd ..
  
          logit "Case particulier BNP_CB crée."
  
          continue
      fi
  
      if [ -d ${array[$index]} ]; then
          # Control will enter here if $DIRECTORY exists.
          logit "El répertoire existe déjà."
      else
          logit "Le répertoire n'existe pas."
          mkdir -p ${array[$index]}
          logit "Répertoire ${array[$index]} crée correctement."
      fi
  
      cd ${array[$index]}
  
      repImport
      cd ..
  done
  
  echo "Fin création des répertoires."
  </code></pre>
  
  <p>The logfile only contains the first <code>logit</code> call. Why don't the other calls to the method work?</p>
  
  <pre><code>[JV07483S][Fri Aug 16 18:19:04 CEST 2013] - Array généré
  [JV07483S][Fri Aug 16 18:19:30 CEST 2013] - Array généré
  </code></pre>
  
  <p>Searching in the web I saw that I can use the logger command, but it always write in the <code>/var/ folder</code>. Is it possible to adapt my shell function to use logger and to write in a file at the current script's folder? </p>