如何在Linux中使用Docker查看WordPress中的错误日志
最近我正在开发一个 WordPress 插件,但我没有找到一种简单的方法来使用 Docker 在 WordPress 中查看错误日志。不久前,我开始阅读和了解 Docker。我在 Docker Hub](https://hub.docker.com/_/wordpress)中使用[WordPress 的官方 Docker 映像创建了一个 WordPress 开发实例。在某些情况下,您希望查看错误日志而不激活 WordPress 中的调试模式。例如,插件可能会生成难以调试的警告,并且可能会破坏站点中对 Ajax 请求的响应。
我第一次尝试查看错误日志是登录 Docker 容器的 bash 会话。然后我搜索了错误日志文件,但默认情况下错误被发送到 I/O 流 STDERR。
[
WordPress 错误日志默认配置](https://devpress-image.s3.cn-north-1.jdcloud-oss.com/a/ed353c2cef_default-error-logs-wordpress-docker. jpg)
带有 Docker 的 WordPress 错误日志的默认配置
我没有创建自定义映像来更改此配置,而是尝试使用Docker cli 工具访问容器的日志。使用docker logs ID_CONTAINER,我能够看到 Web 服务器的日志。这是进步,但不是我想要的。我得到了 Web 服务器的所有日志条目,包括访问和警告条目。在加载多个资源并执行多个 Ajax 请求的网站中,很难轻松地发现错误条目。

显示 Docker WordPress 镜像容器的日志。
解决方案
如果我们丢弃发送到标准流的输出,那么访问条目就消失了。所以使用docker logs -f ID_CONTAINER >/dev/null,我们只得到发送到错误流的条目。这里的大部分条目都是对调试有用的条目,它们是警告和错误消息。 docker logs 命令中的选项 -f 用于跟踪并自动刷新控制台中的日志。

仅显示发送到错误流的条目
额外提示
如果您只想查看错误消息而不更改错误报告指令,可以使用 grep 工具过滤其他条目。使用docker logs -f ID_CONTAINER 2>&1 >/dev/null | grep -i error过滤条目以仅显示其中包含错误词的行。此命令将标准流的输出替换为错误流的输出。然后 grep 过滤内容。 grep 命令中的选项 -i 在搜索中不区分大小写。
[
](https://devpress-image.s3.cn-north-1.jdcloud-oss.com/a/5d2c00309d_console-wordpress-docker-logs-only-errors .jpg)
使用 Docker 仅显示 WordPress 的错误日志
也许它不是最优雅的,但至少它是使用 Docker 在 WordPress 中查看错误日志的有效方法。
帖子How to see the error logs in WordPress with Docker in Linux首先出现在Carlos Guzman上。
更多推荐




所有评论(0)