调试 Weblate

程序缺陷可以表现为应用崩溃或各种不正常行为。欢迎您搜集任何这类问题的信息,并将其提交给 issue tracker

调试模式

打开调试模式将在网络浏览器中显示异常。对于调试 web 界面中的问题很有用,但不适用于生产环境,因为它会拖累性能,并且可能泄漏私密数据。

In a production environment, use ADMINS to receive e-mails containing error reports, or configure error collection using a third-party service.

Weblate 日志

Weblate 可以生成后台正在发生什么的详细日志。在默认配置中,它使用 syslog,并使日志出现在 /var/log/messages/var/log/syslog 中(取决于您的 syslog 守护程序配置)。

Celery 进程(请参见 使用 Celery 的后台任务)通常也产生自己的日志。示例的系统范围的安装被记录到 /var/log/celery/ 下的几个日志文件中。

Docker 容器记录它们的输出(按照 Docker 世界的惯例),因此可以使用 docker-compose logs 来查看日志。

参见

配置的例子 包含 LOGGING 配置。

不处理后台任务

Celery workers 在后台完成很多事。如果像发送电子邮件或删除部件这样的事情不能正常运作,那么可能有一个相关的问题。

在那种情况下需要检查的事情:

不接收来自 Weblate 的电子邮件

你可以使用 sendtestemail 管理命令(关于在不同环境中如何调用它的指示说明请参见 调用管理命令 )或 Tools 选项卡下的 管理界面 来验证外发电子邮件是否正常工作。

这些直接发送电子邮件,因此这验证您的SMTP配置是否正确(请参见 配置电子邮件发件箱)。然而来自 Weblate 的多数电子邮件在后台发送,并且可能也会有 Celery 相关的问题,请参阅 不处理后台任务 来调试。

分析应用的崩溃

在应用程序崩溃的情况下,尽可能多地收集有关崩溃的信息是很有用的。这可以通过使用第三方服务来实现,第三方服务可以自动收集这些信息。可以在 收集错误报告 找到如何设置的信息。

无报告的故障

很多任务写在到 Celery 进行后台处理。故障不显示在用户界面上,但出现在 Celery 的日志中。配置 收集错误报告 会帮助您更容易地注意到这样的故障。

性能问题

如果 Weblate 在某些情况下表现不佳,请收集显示问题的相关日志,以及任何可能有助于确定代码可能改进的地方的日志。

如果有些请求在没有任何提示的情况下花费了很长时间,你可能想要安装 dogslow,附加参数 收集错误报告 并在错误收集工具中获取精确和详细的回溯信息。

In case the slow performance is linked to the database, you can also enable logging of all database queries using following configuration after enabling DEBUG:

LOGGING["loggers"]["django.db.backends"] = {"handlers": ["console"], "level": "DEBUG"}