Kategorien
Allgemein

Loggen in Shell Programmen

In Java wird log4j genutzt, in Perl gibt es Log::Log4perl, in Python ist zwar keine 4 im Namen, aber logging tut es ja auch. Für JavaScript gibt es log4js und in Bash gibt es natürlich log4sh. Aber wie immer, kann man das auch einfach selber machen.

Zum Beispiel mit einer einfachen log Funktion:

#!/usr/bin/bash
LOG_DEBUG=0
LOG_INFO=1
LOG_WARN=2
LOG_ERROR=3
LOG_CRITICAL=4
export LOG_DEBUG LOG_INFO LOG_WARN LOG_ERROR LOG_CRITICAL

export LOG_LEVEL=$LOG_WARN
export LOG_FILE="$HOME/simple_log"

function log() {
    local level=shift
    local message=$*

    if [ "$level" -ge "$LOG_LEVEL" ]
    then
        echo "$(date) $message" >> "$LOG_FILE"
    fi
}

Ist dieses Shell Skript in einer Datei – sagen wir simple_log.sh – gespeichert, so kann es in einem anderen Shell-Skript wie folgt genutzt werden:

#!/usr/bin/bash
. simple_log.sh

log $LOG_DEBUG "Am Anfang des Skriptes"
log $LOG_INFO "Und ende."

Aber ehrlich: log4sh ist genauso einfach zu benutzen und kann viel mehr.

Schreibe einen Kommentar

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