Einfache LOG-Routinen

Wer viel Scripte in Bash hat, der sollte sich überlegen, wie er bestimmte Ausgaben ausgibt. In vielen Programmiersprachen gibt es dafür eine eigentständige Library, die man sich herholen kann. z.B. bei Java, Log4J. Hier ein winziger Ansatz, um ein LOG Mechanismus in seinen eigenen Scripten zu benutzen:

################################################################################
### Log-Funktionen:

function logInfo
{
  local ts
  ts="$(date +'%Y%m%d-%H%M%S%z')"
  echo "${ts} INFO $*"
}

function logWarn
{
  local ts
  ts="$(date +'%Y%m%d-%H%M%S%z')"
  echo "${ts} WARN $*"
}

function logErr
{
  local ts
  ts="$(date +'%Y%m%d-%H%M%S%z')"
  echo "${ts} ERROR $*"
  echo "${ts} ERROR $*" >&2
}

# Exit Function
function exit_bash ()
{
        local exitcode=$1
	if [ $exitcode -eq 0 ];then
		echo "Beenden RC=0"
	else
		logErr "Abbruch RC=$1"
	fi
	DATE=`date '+%Y-%m-%d %H:%M:%S'`
	echo "Ende: $DATE "
	exit $1
}

Diese Funktionen sollte man entweder in eienr seperaten Datei speichern und diese dann per source einbinden oder diese im Kopf jeder Bash Datei einsetzen.

Später kann man anstatt echo dann logInfo, logWarn oder logErr verwenden.

Biespiel:

#!/bin/bash
source include.sh

# LOG Info
logInfo "Dies ist eine Info Nachricht"

# LOG Warn
logWarn "Dies ist eine Warn Nachricht"

# LOG Error
logErr "Dies ist eine Error Nachricht"

# Beenden und loggen
exit_bash 99

Dies erzeugt folgende Ausgabe:

20191219-112604+0100 INFO Dies ist eine Info Nachricht
20191219-112604+0100 WARN Dies ist eine Warn Nachricht
20191219-112604+0100 ERROR Dies ist eine Error Nachricht
20191219-112604+0100 ERROR Abbruch RC=99
Ende: 2019-12-19 11:26:04

Auf Github: https://github.com/triopsi/logbash

Viel Erfolg

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert