调试 Weblate¶
程序缺陷可以表现为应用崩溃或各种不正常行为。欢迎您搜集任何这类问题的信息,并将其提交给 问题跟踪器 。
调试模式¶
打开调试模式将在网络浏览器中显示异常。对于调试 web 界面中的问题很有用,但不适用于生产环境,因为它会拖累性能,并且可能泄漏私密数据。
在生产环境中,使用 ADMINS
接收包含错误报告的电子邮件,或使用第三方服务配置错误收集。
参见
Weblate 日志¶
Weblate 可以生成后台正在发生什么的详细日志。在默认配置中,它使用 syslog,并使日志出现在 /var/log/messages
或 /var/log/syslog
中(取决于您的 syslog 守护程序配置)。
Celery 进程(请参见 使用 Celery 的后台任务)通常也产生自己的日志。示例的系统范围的安装被记录到 /var/log/celery/
下的几个日志文件中。
Docker 容器记录它们的输出(按照 Docker 世界的惯例),因此可以使用 docker-compose logs
来查看日志。要获得更详细的日志,你可以更改 WEBLATE_LOGLEVEL
。
不处理后台任务¶
Celery 工作进程在后台完成很多事。如果像发送电子邮件或删除部件这样的事情不能正常运作,那么可能有一个相关的问题。
在那种情况下需要检查的事情:
检查 Celery 进程是否正在运行,见 使用 Celery 的后台任务
在 管理界面 中或者使用
celery_queues
检查 Celery 队列状态查看 Celery 日志寻找错误(请参见 Weblate 日志)
不接收来自 Weblate 的电子邮件¶
你可以使用 sendtestemail
管理命令(关于在不同环境中如何调用它的指示说明请参见 调用管理命令 )或 Tools 选项卡下的 管理界面 来验证外发电子邮件是否正常工作。
这些直接发送电子邮件,因此这验证您的SMTP配置是否正确(请参见 配置电子邮件发件箱)。然而来自 Weblate 的多数电子邮件在后台发送,并且可能也会有 Celery 相关的问题,请参阅 不处理后台任务 来调试。
分析应用的崩溃¶
在应用程序崩溃的情况下,尽可能多地收集有关崩溃的信息是很有用的。这可以通过使用第三方服务来实现,第三方服务可以自动收集这些信息。可以在 收集错误报告并监控性能 找到如何设置的信息。
无报告的故障¶
很多任务写在到 Celery 进行后台处理。故障不显示在用户界面上,但出现在 Celery 的日志中。配置 收集错误报告并监控性能 会帮助您更容易地注意到这样的故障。
性能问题¶
如果 Weblate 在某些情况下表现不佳,请收集显示问题的相关日志,以及任何可能有助于确定代码可能改进的地方的日志。
如果有些请求在没有任何提示的情况下花费了很长时间,你可能想要安装 dogslow,附加参数 收集错误报告并监控性能 并在错误收集工具中获取精确和详细的回溯信息。
如果性能缓慢与数据库有关,您还可以在启用 DEBUG
后使用以下配置启用所有数据库查询的日志记录:
LOGGING["loggers"]["django.db.backends"] = {"handlers": ["console"], "level": "DEBUG"}