
# 错误日志记录

对于选定沙盒的请求，引导程序会将`WP_DEBUG`定义为`true`，将`WP_DEBUG_LOG`定义为沙盒`debug.log`，并将`WP_DEBUG_DISPLAY`定义为`false`，因此错误会写入每个沙盒各自的文件，而不是浏览器。

仅当`wp-config.php`尚未定义这些项时，才会定义每一项；引导程序行紧邻在`wp-settings.php`行上方，位于其余`wp-config.php`之后。标准`wp-config.php`会将`WP_DEBUG`定义为`false`，因此在这种安装中，沙盒请求不会写入`debug.log`（[问题 #4](https://github.com/inline0/rudel/issues/4)）。若要在此处启用每个沙盒的日志，请从`wp-config.php`中移除`WP_DEBUG`、`WP_DEBUG_LOG`和`WP_DEBUG_DISPLAY`定义。这样WordPress会继续对主机请求关闭调试，而引导程序会为沙盒请求启用日志记录。

## 查看日志

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

默认显示最后 50 行。`--follow`会对文件运行`tail -f`。

## 清除日志

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

## 日志位置

日志文件位于沙盒目录中：

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

该目录位于`wp-content`中，Web 服务器会像提供其中的其他文件一样提供它。对于其他人可以访问的任何主机，请阻止 Web 访问`*.log`文件和`rudel-environments`下的`snapshots`目录（[问题 #9](https://github.com/inline0/rudel/issues/9)）。

## 被阻止的电子邮件

沙盒请求会阻止发出站外邮件。定义了`WP_DEBUG_LOG`时，每封被阻止的邮件都会通过`error_log()`记录收件人和主题。只有在上述调试日志处于启用状态时，它才会写入沙盒`debug.log`；否则会写入PHP的默认错误日志。
