【发布时间】:2020-04-29 20:25:33
【问题描述】:
我安装了 Drupal 系统日志模块,我想确保系统日志配置正常工作。但是查看web容器内部,我不知道syslogd是否在运行,也没有找到日志可能在哪里。
【问题讨论】:
标签: ddev
我安装了 Drupal 系统日志模块,我想确保系统日志配置正常工作。但是查看web容器内部,我不知道syslogd是否在运行,也没有找到日志可能在哪里。
【问题讨论】:
标签: ddev
正如 Randy 所说,您可以在 config.yaml 中添加 syslog 守护程序作为启动后挂钩。我们使用它如下:
hooks:
post-start:
- exec: sudo syslogd
- exec: printf "\n\n#Drupal logs\n#local0.* /var/log/drupal.log\n" | sudo tee -a /etc/syslog.conf
这会启动 syslogd 并将其配置为将设施中的所有内容(我猜它是这样称呼的)“local0.*”写入 /var/log/drupal.log .
要查看其中的内容,只需 SSH 进入 DDEV (ddev ssh) 并运行 tail -f /var/log/syslog。
启用 syslog 模块后,您需要进入 admin/config/development/logging 并选择“LOG_LOCAL0”作为 syslog 工具并设置 syslog 格式。
【讨论】:
webimage_extra_packages: [inetutils-syslogd],然后重新启动。这将添加必要的包。ddev ssh 并运行syslogd。这将手动启动 syslogd。如果您希望它始终启动,您可以将正在运行的 syslogd 添加到启动后 exec 挂钩。使用不同的 syslogd 服务器可能更有意义,因此您可以使用 hub.docker.com 上的众多 syslog 映像之一作为 ddev 中的第三方服务,或者您可以在工作站上运行 syslogd,或者你也可以使用https://www.papertrail.com/
【讨论】:
local0.* /var/log/drupal.log 设置为/etc/syslog.conf,然后我运行syslogd 以重新启动服务。
ddev restart 中保留,但由于您只是在踢轮胎,那应该没问题。您可以使用 .ddev/web-build/Dockerfile 添加对 syslog.conf 的永久覆盖,但这可能比您现在想要的要多。