Creare un file di log

Archiviato in: shell — olaolaonline 6 Novembre 2007 @ 19:52

Quando si scrive una procedura per la shell e’ sempre bene fare in modo che venga creato un file di log contente tutte le informazioni importanti e le operazioni effettuate dalla procedura stessa. Per fare cio’ basterebbe reindirizzare l’output dello schermo su un file con il consueto simbolo di maggiore (>). In questo modo pero’ non vediamo piu’ a schermo quello che sta’ succedendo. Inoltre sarebbe comodo avere nel file di log l’indicazione della data e dell’ora a cui e’ avvenuto un verto evento.

Bene, attraverso l’uso combinato dei comandi date e tee possiamo scrivere una semplice funzione che fa’ al caso nostro.

logging (){
  dateTime=$(date "+%Y-%m-%d %H:%M:%S")
  if [[ -n $2 ]]
  then
    echo "$dateTime $1" | tee -a $2
  else
    echo "$dateTime $1 (no log file specified)"
  fi
}

La funzione va usata in questo modo

logging "Testo da scrivere nel log" nome_file_log.

Il primo argomento e’ obbligatorio e rappresenta l’informazione che volete scrivere nel file di log. Il secondo argomento e’ il nome del file di log in cui volete scrivere. Se tale file non viene specificato il testo viene scritto solo a schermo.

Il risultato sara’ della forma

2007-11-06 18:35:14 Testo da scrivere nel log

Al prossimo trick!

Nessun commento »

Non c’è ancora nessun commento.

RSS feed dei commenti a questo articolo. TrackBack URI

Lascia un commento