# Ausgabeprotokollierung und Fehlerbehandlung

## Übersicht

Beim Ausführen von Skripten im BuildingPro-Suites-System werden alle Ausgaben, wie z. B. `print` Anweisungen, Informationen über die Ausführung und Fehler werden im **Grafana-Container (SSR)**&#x70;rotokolliert. Jede Skriptausführung erhält eine eindeutige **Funktions-ID**, wodurch es möglich ist, die Ausgaben einzelner Skripte gezielt nachzuverfolgen. Diese Anleitung erklärt, wie solche Protokolleinträge aussehen können und was sie bedeuten.

## Wichtige Hinweise

### Unmittelbare Ausgabe mit `print` Anweisungen

Um sicherzustellen, dass `print` Ausgaben sofort sichtbar sind, verwenden Sie den Parameter **`flush=True`** in Ihren `print` Anweisungen. Dadurch bleibt die Ausgabe nicht im Puffer und wird direkt im Protokoll angezeigt.

**Beispiel:**

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

## Fehlerprotokollierung

Alle Fehler, die während der Ausführung eines Skripts auftreten, werden ebenfalls im Grafana-Protokoll angezeigt. Durch geeignetes Fehlerhandling 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"Ein Fehler ist aufgetreten: {e}", flush=True)
    raise
```

Durch die Verwendung von `flush=True` in Kombination mit umfassendem Fehlerhandling können Sie sicherstellen, dass alle wichtigen Informationen sofort im Protokoll sichtbar sind und potenzielle Probleme schnell erkannt und behoben werden können.
