
# Fehlerprotokollierung

Für eine ausgewählte Sandbox-Anfrage definiert der Bootstrap `WP_DEBUG` als `true`, `WP_DEBUG_LOG` als Sandbox-`debug.log` und `WP_DEBUG_DISPLAY` als `false`, sodass Fehler in eine Sandbox-spezifische Datei statt im Browser geschrieben werden.

Jede dieser Angaben wird nur definiert, wenn `wp-config.php` sie nicht bereits festgelegt hat. Die Bootstrap-Zeile steht direkt über der `wp-settings.php`-Zeile, nach dem übrigen `wp-config.php`. Ein Standard-`wp-config.php` definiert `WP_DEBUG` als `false`, daher werden Sandbox-Anfragen bei einer solchen Installation nicht in `debug.log` protokolliert ([Issue #4](https://github.com/inline0/rudel/issues/4)). Entferne die Definitionen von `WP_DEBUG`, `WP_DEBUG_LOG` und `WP_DEBUG_DISPLAY` aus `wp-config.php`, damit dort Sandbox-spezifische Protokolle erstellt werden. WordPress lässt das Debugging für Host-Anfragen dann weiterhin ausgeschaltet und aktiviert die Protokollierung für Sandbox-Anfragen über den Bootstrap.

## Protokolle ansehen

```bash
wp rudel logs alpha-3be7
wp rudel logs alpha-3be7 --lines=200
wp rudel logs alpha-3be7 --follow
```

Standardmäßig werden die letzten 50 Zeilen angezeigt. `--follow` führt `tail -f` für die Datei aus.

## Protokolle leeren

```bash
wp rudel logs alpha-3be7 --clear
```

## Speicherort der Protokolle

Die Protokolldatei befindet sich im Sandbox-Verzeichnis:

```text
wp-content/rudel-environments/{id}/debug.log
```

Dieses Verzeichnis liegt in `wp-content`, und Webserver stellen es wie jede andere Datei dort bereit. Sperre den Webzugriff auf Dateien `*.log` sowie auf die Verzeichnisse `snapshots` unter `rudel-environments` auf jedem Host, der für andere erreichbar ist ([Issue #9](https://github.com/inline0/rudel/issues/9)).

## Blockierte E-Mails

Sandbox-Anfragen blockieren ausgehende E-Mails. Wenn `WP_DEBUG_LOG` definiert ist, wird jede blockierte Nachricht mit Empfänger und Betreff über `error_log()` protokolliert. Sie wird nur dann in das Sandbox-`debug.log` geschrieben, wenn das Debug-Protokoll wie oben beschrieben aktiviert ist; andernfalls landet sie im standardmäßigen Fehlerprotokoll von PHP.
