
# Virhelokitus

Valitun hiekkalaatikon pyynnön käynnistysvaihe määrittää arvon `WP_DEBUG` muodossa `true`, arvon `WP_DEBUG_LOG` hiekkalaatikon `debug.log`-arvoksi ja arvon `WP_DEBUG_DISPLAY` muodossa `false`, joten virheet kirjataan hiekkalaatikkokohtaiseen tiedostoon selaimen sijaan.

Kukin näistä määritellään vain, jos `wp-config.php` ei ole jo määritellyt sitä, ja käynnistysrivi on suoraan `wp-settings.php`-rivin yläpuolella, muun `wp-config.php`-sisällön jälkeen. Tavallisessa `wp-config.php`-asennuksessa `WP_DEBUG` määritellään arvoksi `false`, joten tällaisessa asennuksessa hiekkalaatikkopyyntöjä ei kirjata kohteeseen `debug.log` ([ongelma #4](https://github.com/inline0/rudel/issues/4)). Jos haluat hiekkalaatikkokohtaiset lokit, poista määritykset `WP_DEBUG`, `WP_DEBUG_LOG` ja `WP_DEBUG_DISPLAY` tiedostosta `wp-config.php`. WordPress pitää sitten virheenjäljityksen pois päältä palvelimen pyynnöissä, ja käynnistysvaihe ottaa lokituksen käyttöön hiekkalaatikkopyynnöissä.

## Lokien tarkastelu

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

Oletuksena näytetään viimeiset 50 riviä. `--follow` suorittaa tiedostolle komennon `tail -f`.

## Lokien tyhjentäminen

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

## Lokin sijainti

Lokitiedosto sijaitsee hiekkalaatikon hakemistossa:

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

Kyseinen hakemisto sijaitsee kohteen `wp-content` sisällä, ja verkkopalvelimet tarjoavat sen sisältöä kuten minkä tahansa muun siellä olevan tiedoston. Estä verkkoyhteys `*.log`-tiedostoihin ja hakemiston `snapshots` alihakemistoihin kohteessa `rudel-environments` kaikilla muiden saavutettavissa olevilla palvelimilla ([ongelma #9](https://github.com/inline0/rudel/issues/9)).

## Estetyt sähköpostit

Hiekkalaatikkopyynnöt estävät lähtevän sähköpostin. Kun `WP_DEBUG_LOG` on määritetty, jokainen estetty viesti kirjataan vastaanottajineen ja aiheineen kohteen `error_log()` kautta. Viesti päätyy hiekkalaatikon kohteeseen `debug.log` vain, kun virheenjäljityslokitus on käytössä yllä kuvatulla tavalla; muussa tapauksessa se päätyy kohteen PHP oletusvirhelokiin.
