Fehlersuche in Weblate¶
Fehler können sich in Form von Anwendungsabstürzen oder verschiedenen Fehlverhaltensweisen äußern. Sie sind herzlich eingeladen, Informationen zu solchen Problemen zu sammeln und sie an den Issue Tracker zu übermitteln.
Debugmodus¶
Wenn Sie den Debugmodus aktivieren, werden die Ausnahmen im Webbrowser angezeigt. Dies ist nützlich, um Probleme in der Weboberfläche zu beheben, eignet sich aber nicht für eine Produktionsumgebung, da es Auswirkungen auf die Leistung hat und möglicherweise persönliche Daten preisgibt.
Verwenden Sie ADMINS
in einer Produktionsumgebung, um E-Mails mit Fehlerberichten zu erhalten, oder konfigurieren Sie die Fehlersammlung über einen Drittanbieterdienst.
Weblate-Protokolle¶
Weblate kann detaillierte Protokolle darüber erstellen, was im Hintergrund vor sich geht. In der Standardkonfiguration verwendet es syslog, wodurch das Protokoll entweder in /var/log/messages
oder /var/log/syslog
erscheint (abhängig von der Konfiguration Ihres syslog-Daemons).
Der Celery-Prozess (siehe Hintergrundaufgaben mit Celery) erzeugt normalerweise auch seine eigenen Protokolle. Das Beispiel, das systemweit eingerichtet wurde, protokolliert in mehreren Dateien unter /var/log/celery/
.
Docker-Container protokollieren ihre Ausgabe (wie in der Docker-Welt üblich), so dass Sie sich die Protokolle mit docker compose logs
ansehen können. Sie können detailliertere Protokolle erhalten, indem Sie WEBLATE_LOGLEVEL
ändern.
Siehe auch
Beispielkonfiguration enthält die LOGGING
Konfiguration.
Keine Verarbeitung von Hintergrundaufgaben¶
Viele Dinge werden im Hintergrund von Celery-Workern erledigt. Wenn Dinge wie das Versenden von E-Mails oder das Entfernen von Komponenten nicht funktionieren, könnte es ein damit zusammenhängendes Problem geben.
Dinge, die in diesem Fall zu überprüfen sind:
Überprüfen, ob der Celery-Prozess ausgeführt wird, siehe Hintergrundaufgaben mit Celery
Den Status der Celery-Warteschlange überprüfen, entweder in der Verwaltungsoberfläche, oder mit
celery_queues
In den Celery-Protokollen nach Fehlern suchen (siehe Weblate-Protokolle)
Keine E-Mails von Weblate erhalten¶
Sie können überprüfen, ob ausgehende E-Mails korrekt funktionieren, indem Sie den Verwaltungsbefehl sendtestemail
verwenden (siehe Aufrufen von Verwaltungsbefehlen für Anweisungen, wie man ihn in verschiedenen Umgebungen aufruft) oder indem Sie die Verwaltungsoberfläche unter dem Reiter Werkzeuge verwenden.
Diese senden E-Mails direkt, so dass überprüft wird, ob Ihre SMTP-Konfiguration korrekt ist (siehe Ausgehende E-Mails konfigurieren). Die meisten E-Mails von Weblate werden jedoch im Hintergrund verschickt und es könnten auch einige Probleme mit Celery auftreten, siehe Keine Verarbeitung von Hintergrundaufgaben zum Debuggen.
Analyse von Anwendungsabstürzen¶
Wenn die Anwendung abstürzt, ist es sinnvoll, so viele Informationen wie möglich über den Absturz zu sammeln. Dies kann durch die Verwendung von Drittanbieterdiensten erreicht werden, die solche Informationen automatisch sammeln können. Informationen zur Einrichtung dieser Dienste finden Sie unter Sammeln von Fehlerberichten und Überwachen der Leistung.
Stille Ausfälle¶
Viele Aufgaben werden zur Hintergrundverarbeitung an Celery ausgelagert. Fehler werden nicht in der Bedienoberfläche angezeigt, sondern erscheinen in den Celery-Protokollen. Die Konfiguration von Sammeln von Fehlerberichten und Überwachen der Leistung hilft Ihnen, solche Fehler leichter zu erkennen.
Leistungsprobleme¶
Falls Weblate in einem bestimmten Szenario schlecht funktioniert, sammeln Sie bitte die entsprechenden Protokolle, die das Problem zeigen und alles, was hilft herauszufinden, wo der Code verbessert werden könnte.
Falls einige Anfragen zu lange dauern, ohne dass es einen Hinweis darauf gibt, sollten Sie dogslow zusammen mit Sammeln von Fehlerberichten und Überwachen der Leistung installieren, um gezielte und detaillierte Rückverfolgungen im Fehlersammlungstool zu erhalten.
Falls die langsame Leistung mit der Datenbank zusammenhängt, können Sie auch die Protokollierung aller Datenbankabfragen aktivieren, indem Sie nach der Aktivierung von DEBUG
die folgende Konfiguration verwenden:
LOGGING["loggers"]["django.db.backends"] = {"handlers": ["console"], "level": "DEBUG"}