调试 Weblate

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

调试模式

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

在生产环境中,使用 ADMINS 接收包含错误报告的电子邮件,或使用第三方服务配置错误收集。

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,附加参数 收集错误报告 并在错误收集工具中获取精确和详细的回溯信息。

如果性能缓慢与数据库有关,您还可以在启用 DEBUG 后使用以下配置启用所有数据库查询的日志记录:

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