除錯 Weblate

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

除錯模式

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

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

Weblate 紀錄

Weblate can produce detailed logs of what is going on in the background. In the default configuration it uses syslog and that makes the log appear either in /var/log/messages or /var/log/syslog (depending on your syslog daemon configuration).

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"}