除錯 Weblate

程式錯誤可能表現為應用程式當機或各種異常行為。歡迎蒐集這類問題的資訊,並提交至 問題追蹤系統

除錯模式

開啟除錯模式後,例外狀況會顯示在網頁瀏覽器中。這有助於偵錯網頁介面問題,但不適合正式環境,因為它會影響效能,也可能洩漏私人資料。

在正式環境中,使用 ADMINS 接收包含錯誤報告的電子郵件,或使用第三方服務設定錯誤收集。

Weblate 紀錄

Weblate 可以產生背景作業詳細記錄。在預設設定中使用 syslog,因此記錄會顯示於 /var/log/messages/var/log/syslog(視 syslog daemon 設定而定)。

Celery 處理程序(請參閱 使用 Celery 的背景工作)通常也產生自己的日誌。範例的系統範圍的安裝被記錄到 /var/log/celery/ 下的幾個日誌檔案中。

Docker 容器記錄它們的輸出(按照 Docker 世界的慣例),因此可以使用 docker compose logs 來檢視日誌。要獲得更詳細的日誌,您可以變更 WEBLATE_LOGLEVEL

也參考

範例設定 包含 LOGGING 設定。

未處理後台工作

許多工作由 Celery Worker 在後台完成。若外寄電子郵件或移除組件等功能無法運作,問題可能與此有關。

在那種情況下需要檢查的事情:

無法接收來自 Weblate 的電子郵件

您可以使用 sendtestemail 管理指令(不同環境中的呼叫方式請參閱 呼叫管理指令),或使用 工具 分頁下的 管理介面,確認外寄電子郵件是否正常運作。

這些方式會直接傳送電子郵件,因此可確認 SMTP 設定是否正確(請參閱 設定外寄電子郵件)。不過,Weblate 的大多數電子郵件會在後台傳送,問題也可能與 Celery 有關;偵錯方式請參閱 未處理後台工作

分析應用程式當機

在應用程式崩潰的情況下,儘可能多地收集有關崩潰的資訊是很有用的。這可以透過使用第三方服務來達成,第三方服務可以自動收集這些資訊。可以在 收集錯誤報告與監測效能 找到如何設定的資訊。

無聲失敗

許多工作會交由 Celery 在後台處理。失敗情況不會顯示在使用者介面中,而會出現在 Celery 記錄中。設定 收集錯誤報告與監測效能 有助於更容易發現這類失敗。

效能問題

如果 Weblate 在某些情況下表現不佳,請收集顯示問題的相關日誌,以及任何可能有助於確定程式碼可能改進的地方的日誌。

如何設定 Sentry 以取得效能不佳作業的實用分析資訊,請參閱 收集錯誤報告與監測效能

如果效能緩慢與資料庫有關,您還可以在啟用 DEBUG 後使用以下設定啟用所有資料庫查詢的日誌記錄:

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