在对 Discourse 的问题或错误进行故障排除时,查看日志非常重要。以下是日志的位置及其包含的内容列表。
您的网站域名
在 UI 中显示的管理员日志
Discourse 管理面板包含多种日志记录形式:
- 发送、跳过、弹回、接收和拒绝的电子邮件记录在 https://=DOMAIN=/admin/email-logs 及相邻的选项卡中。
- 管理员操作记录在 https://=DOMAIN=/admin/logs/staff_action_logs。
- 被禁止注册的电子邮件地址和 IP 地址将列在 https://=DOMAIN=/admin/logs/screened_emails 和 https://=DOMAIN=/admin/logs/screened_ip_addresses。
- 被禁止为垃圾邮件发送者屏蔽的账户发布的链接列在 https://=DOMAIN=/admin/logs/screened_urls。
- 搜索分析日志显示在 https://=DOMAIN=/admin/logs/search_logs。
Logster Web UI
每个 Discourse 实例都附带一个图形界面日志查看器。它位于:https://=DOMAIN=/logs
注意:如果您使用的是托管套餐,此页面可能会对您隐藏。如果是这种情况,请在遇到此类问题时联系支持人员!
如果您在论坛上遇到神秘的 500 错误,应始终首先尝试此位置!
选择错误行以获取有关它的详细信息。您可能需要在此处(Meta 站点)提供 env 和 backtrace 选项卡的内容。
Rails / Pitchfork 日志
Ruby on Rails 包含一个非常详细的日志文件,写入磁盘。此外,Web 服务器 pitchfork(unicorn 的一个分支)也会向磁盘写入日志。
访问方式:
cd /var/discourse
./launcher enter app
cd /shared/log/rails
此文件夹包含“production.log”和“unicorn.stderr.log”以及“已轮转”的日志文件。您可以使用标准的 Unix 工具,例如 less production.log 来检查它们。
该文件夹也可在不进入容器的情况下通过 /var/discourse/shared/standalone/log/rails 访问。
NGINX 日志
有时 NGINX 日志可能会包含一些额外提示,它们位于:
cd /var/discourse
./launcher enter app
cd /var/log/nginx
access.log 和 error.log 文件以及一堆已轮转的压缩文件都在那里。运行 less access.log.2.gz 将自动解压缩并显示日志文件。
此目录也可在宿主机上通过 /var/discourse/shared/standalone/log/var-log/nginx 访问。
Redis 日志
虽然很少需要查看 Redis 日志,但如果您需要,它们会进入容器内的 /var/log/redis 和宿主机上的 /var/discourse/shared/standalone/log/var-log/redis。最新的日志条目在目录中的 current 文件里。
PostgreSQL 日志
如果您需要查看数据库服务器日志,它们位于容器内的 /var/log/postgres 和宿主机上的 /var/discourse/shared/standalone/log/var-log/postgres;最新的条目在该目录中的 current 文件里。
