91 lines
2.7 KiB
Markdown
91 lines
2.7 KiB
Markdown
# Bash-Logging-Tool
|
|
|
|
Ein einfaches Bash-Script zum Logging in anderen Scripten.
|
|
Es unterstützt verschiedene Log-Levels und schreibt sowohl auf die Konsole als auch in eine Logdatei.
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
- **Mehrere Log-Levels**: INFO, WARN, ERROR, START, END
|
|
- **Duales Logging**: Ausgabe auf Konsole **und** in eine Logdatei
|
|
- **Automatische Verzeichniserstellung**: Erstellt das Log-Verzeichnis, falls nicht vorhanden
|
|
- **Zeitstempel**: Jeder Eintrag wird mit Datum und Uhrzeit versehen
|
|
- **Flexible Logdatei**: Standard- oder benutzerdefinierter Pfad
|
|
|
|
---
|
|
|
|
## Installation
|
|
|
|
1. Speichere das Script als `logger.sh` in deinem Projektverzeichnis.
|
|
2. Binde es in deinem Script mit `source` ein:
|
|
```bash
|
|
source /pfad/zu/logger.sh
|
|
|
|
|
|
## Verwendung
|
|
|
|
### 1. Initialisierung
|
|
Setze die Logdatei (optional, Standard: `$HOME/log.txt`):
|
|
```bash
|
|
log_init "/pfad/zur/logdatei.log" # Benutzerdefinierter Pfad
|
|
# oder
|
|
log_init # Nutzt den Standardpfad ($HOME/log.txt)
|
|
```
|
|
|
|
### 2. Logging-Funktionen
|
|
|
|
| Funktion | Beschreibung | Beispiel |
|
|
|---------------|----------------------------------|-------------------------------------------|
|
|
| `log_info` | Informationsmeldung loggen | `log_info "Das ist eine Info."` |
|
|
| `log_warn` | Warnmeldung loggen | `log_warn "Achtung, etwas ist ungewöhnlich!"` |
|
|
| `log_error` | Fehlermeldung loggen | `log_error "Ein Fehler ist aufgetreten!"` |
|
|
| `log_start` | Script-Start markieren | `log_start "Backup-Prozess"` |
|
|
| `log_end` | Script-Ende markieren | `log_end "Backup-Prozess"` |
|
|
|
|
### 3. Beispiel
|
|
```bash
|
|
#!/bin/bash
|
|
source logger.sh
|
|
|
|
log_init "$HOME/mein_script.log"
|
|
log_start "Datenverarbeitung"
|
|
|
|
log_info "Starte Datenimport..."
|
|
# ... dein Code ...
|
|
log_warn "Datenformat unvollständig, aber fortsetzbar."
|
|
# ... dein Code ...
|
|
log_error "Fehler beim Schreiben der Datei!"
|
|
log_end "Datenverarbeitung"
|
|
```
|
|
|
|
---
|
|
|
|
## Konfiguration
|
|
|
|
- **Standard-Logdatei**: `$HOME/log.txt`
|
|
- **Voreingestellter Pfad im Script**: `$HOME/Gitea/logger/log.txt`
|
|
(kann in Zeile 2 der `logger.sh` angepasst werden)
|
|
|
|
---
|
|
|
|
## Beispiel-Ausgabe
|
|
|
|
### In der Konsole:
|
|
```
|
|
2025-08-16 14:30:00 [INFO] Das ist eine Info.
|
|
2025-08-16 14:30:05 [WARN] Achtung, etwas ist ungewöhnlich!
|
|
```
|
|
|
|
### In der Logdatei:
|
|
```
|
|
2025-08-16 14:30:00 [START] --- Backup-Prozess gestartet ---
|
|
2025-08-16 14:30:00 [START] --- Script: ./mein_script.sh ---
|
|
2025-08-16 14:30:00 [INFO] Starte Datenimport...
|
|
2025-08-16 14:30:05 [WARN] Datenformat unvollständig, aber fortsetzbar.
|
|
2025-08-16 14:30:10 [ERROR] Fehler beim Schreiben der Datei!
|
|
2025-08-16 14:30:15 [END] --- Backup-Prozess abgeschlossen ---
|
|
```
|
|
|
|
---
|