Отладка Weblate

Ошибки могут проявлять себя в том, что приложение падает или как-либо ведёт себя некорректно. Мы будем рады, если вы соберёте информацию о таких проблемах и передадите её в нашу систему отслеживания проблем.

Режим отладки

Включение режима отладки приведёт к тому, что исключения будут отображаться прямо в веб-браузере. Это полезно при отладке проблем в веб-интерфейсе, но для рабочей системы применять данный режим не следует, поскольку он отражается на производительности не лучшим образом и может привести к утечке конфиденциальных данных.

В производственной среде используйте ADMINS, чтобы получать электронные письма с отчётами об ошибках, или настройте сбор ошибок с помощью сторонней службы.

Журналы Weblate

Weblate может вести детализированные журналы того, что происходит на фоне. С настройками по умолчанию он использует syslog в результате чего файл журнала появляется в /var/log/messages или в /var/log/syslog (в зависимости от настроек вашего демона syslog).

Процесс Celery (смотреть раздел Фоновые задачи с использованием Celery) обычно также ведёт свои собственные журналы. Скажем, в примере с установкой Celery в качестве системного сервиса журналы будут записываться в несколько файлов в каталоге /var/log/celery/.

Контейнеры Docker записывают свои выходные данные (как обычно в мире Docker), поэтому вы можете просмотреть журналы, используя docker compose logs. Вы можете получить более подробные журналы, изменив WEBLATE_LOGLEVEL.

См. также

Пример файла настроек содержит конфигурацию LOGGING.

Не обрабатываются фоновые задачи

Многие вещи выполняются обработчиками Celery в фоновом режиме. Если такие вещи, как рассылка писем или удаление компонентов, не работают, возможно, проблема связана с ними.

В таком случае следует:

Не доходит электронная почта от Weblate

Вы можете проверить, правильно ли работает исходящая электронная почта, с помощью команды управления sendtestemail (см. Вызов команд управления для инструкций по её вызову в разных средах) или с помощью Интерфейс управления на вкладке Tools.

Они отправляют электронные письма напрямую, поэтому это подтверждает правильность вашей конфигурации SMTP (см. Настройка исходящей почты). Однако большинство писем от Weblate отправляются в фоновом режиме, и там также могут быть проблемы с Celery; пожалуйста, обратитесь к Не обрабатываются фоновые задачи для их отладки.

Анализ падений программы

Если приложение падает, то будет полезно собрать об этом падении столько информации, сколько возможно. Этого можно достичь с помощью сторонних сервисов, которые могут собирать такую информацию автоматически. Вы можете почитать о том, как это сделать, в разделе «Сбор отчётов об ошибках и мониторинг производительности».

Ошибки без оповещения

Многие задачи выгружаются в Celery для фоновой обработки. Сбои не отображаются в пользовательском интерфейсе, но появляются в журналах Celery. Настройка Сбор отчётов об ошибках и мониторинг производительности помогает легче замечать такие сбои.

Проблемы с производительностью

Если в каких-то сценариях Weblate показывает недостаточную производительность, то соберите журналы, которые демонстрируют проблему, а также всё, что поможет выяснить, как и в каком месте можно улучшить код.

См. Сбор отчётов об ошибках и мониторинг производительности для получения информации о настройке Sentry, которая может предоставить полезную информацию о плохо работающих операциях.

Если низкая производительность связана с базой данных, вы также можете включить регистрацию всех запросов к базе данных, используя следующую конфигурацию после включения DEBUG:

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