# Output Logging und Fehlerbehandlung

## Überblick

Beim Ausführen von Skripten im Eliona-System werden alle Ausgaben, wie beispielsweise `print`-Statements, Informationen über die Ausführung und Fehler, im **Grafana-Container (SSR)** protokolliert. Jede Skriptausführung erhält eine eindeutige **Function ID**, die es ermöglicht, die Ausgaben einzelner Skripte gezielt zu verfolgen. In dieser Anleitung wird erläutert, wie solche Log-Einträge aussehen können und was sie bedeuten.

## Wichtige Hinweise

### Sofortige Ausgabe mit `print`-Statements

Um sicherzustellen, dass `print`-Ausgaben sofort sichtbar sind, verwenden Sie in Ihren `print`-Statements den Parameter **`flush=True`**. Dies verhindert, dass die Ausgabe im Puffer bleibt und stellt sicher, dass sie direkt im Log erscheint.

**Beispiel:**

```python
print("Ergebnis: 42", flush=True)
```

### Fehlerprotokollierung

Alle Fehler, die während der Ausführung eines Skripts auftreten, werden ebenfalls im Grafana-Log angezeigt. Durch eine geeignete Fehlerbehandlung können Sie sicherstellen, dass zusätzliche Details protokolliert werden, was die Fehlersuche erleichtert.

**Beispiel für Fehlerprotokollierung:**

```python
try:
    # Code, der Fehler verursachen könnte
except Exception as e:
    print(f"Fehler aufgetreten: {e}", flush=True)
    raise
```

Durch die Verwendung von `flush=True` in Kombination mit einer umfassenden Fehlerbehandlung können Sie sicherstellen, dass alle wichtigen Informationen sofort im Log sichtbar sind und potenzielle Probleme schnell identifiziert und behoben werden können.
