DE · AT · CHAnleitung

Fehler 500 und andere Serverfehler in Odoo eingrenzen

Rechtsstand: · Aktualisiert:

Gilt für: Odoo 20.0 Community und Enterprise; Odoo Online, Odoo.sh und eigene Installation (On-Premise); unabhängig von Modulen und Lokalisierung

Kurz gesagt

Ein 500 sagt nach RFC 9110, dass der antwortende Server auf eine unerwartete Bedingung gestoßen ist; ein 502 oder 504, dass eine Komponente in der Gateway-Rolle vom dahinterliegenden Server keine gültige oder keine rechtzeitige Antwort erhalten hat. Suchen Sie im Serverprotokoll die Anfrage zum Fehlerzeitpunkt und lesen Sie die letzte Zeile des Tracebacks. Odoo.sh zeigt das Protokoll im Reiter Logs (Protokolle) des Zweigs und eine eigene Installation in Ihrer Protokolldatei; für Odoo Online beschreibt die Dokumentation keinen Kundenweg zu einem Serverprotokoll, dort führen Reproduktion und Support-Ticket zum Ziel.

Das Wichtigste

  • Im Protokoll nennt die letzte Zeile des Tracebacks die Ausnahmeart und die Meldung; der Zeitstempel führt zur Anfrage.
  • Technische Protokolle stehen in UTC; die Dokumentation verlangt Zeitangaben im Support-Ticket ebenfalls in UTC.
  • In der eigenen Installation im Mehrprozess-Betrieb ist die harte Speichergrenze je Worker als Vorgabewert auf 2560 MiB virtuellen Speichers eingestellt; ein Worker, der sie überschreitet, wird sofort beendet.
  • Odoo.sh zeigt je Zweig den Reiter Logs (Protokolle), im Produktionszweig nur der Rolle Admin.
  • Für Odoo Online beschreibt die Dokumentation 20.0 keinen Kundenweg zu einem Serverprotokoll, sondern Administrator-Aktivitätsprotokolle.
  • Ein fehlgeschlagener Build im Produktionszweig lässt die letzte erfolgreiche Code-Revision weiterlaufen.

Ein Serverfehler hinterlässt drei Spuren: einen Statuscode im Browser, einen Zeitpunkt und eine Zeile im Serverprotokoll. Der Statuscode nennt, wie der Antwortende geantwortet hat; das Protokoll sagt, was schiefging. Die folgenden acht Schritte führen von der Meldung bis zur belegten Ursache und gelten für Odoo 20.0, die Version, die im September 2026 erschienen ist.

Was Sie vorab brauchen

  • Eine Rolle mit Zugriff auf die Protokolle. In Odoo.sh sind Überwachung, Protokolle und Shell im Produktionszweig der Rolle Admin vorbehalten; die Rolle Developer (Entwickler) hat laut Dokumentation keinen Zugriff auf die Server-Logs. Auf einer eigenen Installation brauchen Sie den Zugang zum Dienst oder zur Protokolldatei.
  • Die Angabe, wo Ihre Datenbank läuft. Für Odoo Online beschreibt die Dokumentation keinen Kundenweg zu einem Serverprotokoll; dort führen Reproduktion und Support-Ticket weiter (Schritte 6 und 8).
  • Den genauen Aufruf: Adresse, ausgelöste Aktion, betroffene Datenbank, Version.
  • Den Zeitpunkt in UTC und die Information, was unmittelbar vorher geändert wurde.
  • Eine Kopie der Datenbank für den Test sowie einen Weg zurück (Testumgebung für Odoo, Backup-Strategie für Odoo).

Schritt für Schritt: vom Symptom zur Ursache

Schritt 1: Statuscode und Umfang festhalten

Der Statuscode grenzt die Rolle des Antwortenden ein, nicht den Namen des Programms. Ein 500 (Internal Server Error) bedeutet nach RFC 9110 Abschnitt 15.6.1, dass der antwortende Server auf eine unerwartete Bedingung gestoßen ist und die Anfrage deshalb nicht erfüllen konnte; welches Programm geantwortet hat, sagt der Code nicht, und die Erklärung liefert in der Regel das Protokoll der Anwendung. Ein 502 (Bad Gateway, Abschnitt 15.6.3) bedeutet, dass der antwortende Server in der Rolle eines Gateways oder Proxys eine ungültige Antwort von einem dahinterliegenden Server erhalten hat; ein 504 (Gateway Timeout, Abschnitt 15.6.5), dass er keine rechtzeitige Antwort erhalten hat. Bei 502 und 504 prüfen Sie zuerst den Dienst hinter dem Gateway und dessen Zeitgrenzen. Notieren Sie außerdem, ob eine Person, eine Aktion oder die ganze Datenbank betroffen ist. Ergebnis: Sie wissen, ob Sie im Protokoll der Odoo-Anwendung oder bei der vorgelagerten Komponente suchen.

Schritt 2: Den Zeitpunkt in UTC festhalten

Technische Protokolle stehen in UTC; die Dokumentation verlangt diese Zeitzone auch für Angaben im Support-Ticket, damit Kurve und Zeile zusammenpassen. Rechnen Sie die Uhrzeit aus dem Browser in UTC um und notieren Sie dazu die letzte Änderung davor: neuer Build, Modulinstallation, Import oder eine Anpassung im Studio. Ergebnis: ein Zeitfenster von wenigen Minuten und ein Verdacht, den Sie im Protokoll prüfen können.

Schritt 3: Das Protokoll öffnen

Auf Odoo.sh wählen Sie den betroffenen Zweig und den Reiter Logs (Protokolle). Er zeigt unter anderem odoo.log (laufender Server), update.log (Datenbankaktualisierungen), install.log (Installation), pg_slow_queries.log (auffällig lange Abfragen) und neutralize.log (Neutralisierung, nur Staging). Neue Zeilen erscheinen laufend, die Ansicht endet nach fünf Minuten und lässt sich neu starten; in der Shell liegt dieselbe Datei unter ~/logs/odoo.log. Einen Überblick über Ablage und Zugriff je Hostingmodell gibt Odoo überwachen.

Auf einer eigenen Installation schreibt Odoo standardmäßig die Stufen INFO, WARNING und ERROR auf die Standardfehlerausgabe; mit --logfile bestimmen Sie eine Datei, die ein Rotationsprogramm verwalten darf, weil Odoo sie nach dem Austausch neu öffnet. --log-db schreibt zusätzlich in das Modell ir.logging der genannten Datenbank; im Community-Zweig 20.0 erreichen Sie die Liste mit Entwicklermodus über Einstellungen ‣ Technisch ‣ Datenbankstruktur ‣ Protokollierung. Für Odoo Online überspringen Sie diesen Schritt und gehen zu Schritt 6.

Schritt 4: Die Zeilen lesen

Jede Zeile beginnt mit Datum und Uhrzeit, der Prozessnummer, der Stufe, der Datenbank und dem Namen des Protokollbereichs, gefolgt von der Meldung; die Dokumentation 20.0 zeigt ein solches Beispiel. Suchen Sie im Zeitfenster aus Schritt 2 zuerst die Zugriffszeile zur Anfrage. Im Community-Zweig 20.0 enthält sie die Anfragezeile mit Methode und Pfad, den Statuscode, die Länge der Antwort sowie Zahl und Dauer der Datenbankabfragen, geschrieben vom Protokollbereich odoo.http.server; mit --log-web erhalten Sie zusätzlich Anfrage- und Antwortzeilen mit Kopfzeilen.

Danach kommt der Traceback, die Aufzeichnung des Fehlerwegs: Die letzte Zeile nennt Ausnahmeart und Meldung, die Zeilen davor zeigen den Weg dorthin (Python-Dokumentation, Abschnitt Errors and Exceptions). Lesen Sie genau diese letzte Zeile.

Neben dem Traceback stehen Zeilen aus der Serververwaltung, die auf eine Auslastungsgrenze statt auf Anwendungscode deuten. Der öffentliche Community-Zweig 20.0 schreibt in odoo/service/server.py je Grenze eine eigene Zeile, und zwar nur im Mehrprozess-Betrieb einer eigenen Installation: „Virtual memory limit (…) reached.“, wenn ein Worker die weiche Speichergrenze limit_memory_soft überschreitet; der Worker beendet sich dann erst nach der laufenden Anfrage. „Max request (…) reached.“ nach der eingestellten Zahl an Anfragen (limit_request); auch hier endet der Worker erst nach der laufenden Anfrage. „CPU time limit (…) reached.“ beim Erreichen des CPU-Limits limit_time_cpu; der Worker wirft daraufhin eine Ausnahme im laufenden Aufruf, beendet sich aber nicht selbst. Für die harte Grenze limit_memory_hard setzt der Prozess eine Betriebssystemgrenze für den virtuellen Speicher; bei deren Überschreitung wird der Worker sofort beendet, ohne dass der Code dazu eine eigene Zeile schreibt. Der Hauptprozess meldet „(…) timeout after …s“, wenn ein Worker die Wanduhrgrenze limit_time_real überzieht, und beendet ihn; „Worker (…): dead“ steht für einen mit einem Fehlercode beendeten Worker. Für Odoo Online und Odoo.sh sagt die Dokumentation zu solchen Zeilen nichts; dort trägt die Plattform die Serververwaltung. Ergebnis: Sie können Ausnahme, Modulname, Prozessnummer und Zeitpunkt der betroffenen Anfrage nennen.

Schritt 5: Den Fehler einer Klasse zuordnen

Die folgende Zuordnung folgt aus den Schritten 1 bis 4; jeder Befund führt zu genau einem nächsten Schritt.

Befund im Protokoll Bedeutung Nächster Schritt
Traceback mit einer Ausnahme aus einem Modul, nur bei einer bestimmten Anfrage, wiederholbar Fehler im Code, in einer Anpassung oder in den Daten Schritt 6
Zeile „Virtual memory limit (…)“ oder „Max request (…)“ (eigene Installation, Mehrprozess-Betrieb, Quelle: Community-Zweig) Der Worker hat die weiche Speicher- oder die Anfragegrenze erreicht und beendet sich erst nach der laufenden Anfrage; die Anfrage läuft noch zu Ende Vorgang verkleinern oder aufteilen, Grenzen prüfen, bei Laufzeit Odoo ist langsam
Zeile „CPU time limit (…)“ oder „(…) timeout after …s“, oder ein mitten im Aufruf beendeter Worker ohne eigene Zeile (eigene Installation, Mehrprozess-Betrieb, Quelle: Community-Zweig) Die Zeile „CPU time limit“ zeigt das CPU-Limit im laufenden Aufruf, die Zeile „timeout after“ die Wanduhrgrenze; für einen ohne eigene Zeile mitten im Aufruf beendeten Worker kommt die harte Speichergrenze in Betracht, ohne dass der fehlende Eintrag sie beweist Vorgang verkleinern oder aufteilen, Grenzen prüfen, bei Laufzeit Odoo ist langsam
Fehlerzeitpunkt deckt sich mit Build, Modulinstallation oder Import Verdacht: Die Änderung ist die Ursache; die zeitliche Deckung allein beweist es nicht In einer Kopie gegenprüfen (Schritt 6), dann Schritt 7
Meldung nur in einer Testdatenbank Testkopien (Duplikate und Back-up-Tests, bei Odoo.sh Staging- und Entwicklungsdatenbanken) sind neutralisiert Prüfen, ob die Meldung aus einer abgeschalteten Funktion stammt

Schritt 6: Den Fehler in einer Kopie nachstellen

Führen Sie denselben Aufruf mit demselben Benutzer und denselben Rechten in einer Kopie aus. Auf Odoo Online duplizieren Sie die Datenbank im Datenbank-Manager; standardmäßig ist dabei die Option Zu Testzwecken aktiv, die alle externen Aktionen der Kopie abschaltet; Duplikate verfallen nach 15 Tagen. Auf Odoo.sh dient ein Staging-Zweig. Auf einer eigenen Installation legen Sie eine Kopie an und heben die Stufe nur so lange an, wie Sie sie brauchen: --log-level debug für alles oder --log-handler für einen Bereich, etwa odoo.sql_db:DEBUG; im Browser hilft der Entwicklermodus mit ?debug=1 (Entwicklermodus in Odoo). Ergebnis: Tritt der Fehler in der Kopie erneut auf, steckt die Ursache nicht allein in der Produktionsumgebung; lässt er sich nicht nachstellen, prüfen Sie Unterschiede bei Daten, Konfiguration und Umgebung, denn die Kopie ist neutralisiert und kann deshalb anders reagieren als die Produktion.

Schritt 7: Die Änderung zurücknehmen oder den Fehler beheben

Kam der Fehler mit einem Build, hält die Dokumentation fest, dass Odoo.sh bei einem fehlgeschlagenen Build im Produktionszweig den vorigen erfolgreichen Build zum Laden der Datenbank weiterverwendet; die Datenbank läuft dann mit der vorherigen erfolgreichen Revision weiter. Die fehlgeschlagene Aktualisierung lässt sich im Reiter Logs nachlesen, im update.log und im odoo.log. Ist eine Anpassung die Ursache, schalten Sie sie in der Kopie ab und prüfen erneut. Eine erhöhte Protokollstufe setzen Sie nach dem Test wieder zurück.

Schritt 8: Melden und nachhalten

In eine Meldung gehören Pfad, Uhrzeit in UTC, Datenbankname, Version, die Protokollzeilen und die Schritte zum Nachstellen. Bei Odoo Online und Odoo.sh führt der Weg über ein Support-Ticket; nur mit Zeitangabe kann der Support die Zeile zuordnen. Odoo 20.0 erschien im September 2026, der Standard-Support läuft laut Support-Übersicht bis September 2029 (geplant). Kopieren Sie die entscheidenden Zeilen aus der Datei, bevor eine Rotation sie entfernt.

So prüfen Sie das Ergebnis

  • Lösen Sie dieselbe Aktion erneut aus; die Zeile mit derselben Ausnahmeart zum selben Pfad darf nicht wieder erscheinen, und die Zugriffszeile zeigt einen Statuscode unter 500.
  • Vergleichen Sie dieselbe Uhrzeit am nächsten Tag: Wiederholt sich der Fehler zum selben Zeitpunkt, prüfen Sie als Nächstes eine geplante Aktion als Ursache; das Muster allein beweist es nicht.
  • Kam der Fehler aus einer geplanten Aktion, warten Sie deren nächsten Lauf ab.
  • Bewahren Sie die Zeilen aus dem Zeitfenster auf; nach einer Rotation fehlen sie.

Wenn etwas nicht klappt

Symptom Ursache Lösung
Zum gemeldeten Zeitpunkt steht keine Zeile Protokoll in UTC, Browser in Ortszeit Zeit umrechnen und einige Minuten davor und danach suchen, sonst über die Anfragezeile nach dem Pfad suchen
Nur der Statuscode, kein Traceback Der Statuscode allein nennt keine Ursache und kein Programm. Bei 502 (Bad Gateway) und 504 (Gateway Timeout) beschreibt er nach RFC 9110 nur die Gateway-Rolle: der Antwortende hat vom dahinterliegenden Server eine ungültige beziehungsweise keine rechtzeitige Antwort erhalten. Ein Traceback der Odoo-Anwendung dahinter ist damit nicht ausgeschlossen und kann im Protokoll stehen Bei 502 oder 504 sowohl die Gateway-Komponente und ihre Zeitgrenzen prüfen (das Beispiel der Dokumentation setzt 720 Sekunden je Richtung) als auch das Protokoll des dahinterliegenden Dienstes; bei 500 im Protokoll der Anwendung nachsehen und dort die Protokollstufe anheben
Eine Anfrage brach ab, ohne Ausnahme im Protokoll Der fehlende Ausnahmeeintrag beweist keine bestimmte Ursache; möglich sind unter anderem die harte Speichergrenze (limit_memory_hard), die den Worker nach dem Community-Zweig ohne eigene Zeile mitten im Aufruf beendet, und die Wanduhrgrenze (limit_time_real), deren Überschreitung der Hauptprozess als “timeout after” meldet Nach den tatsächlichen Befunden suchen: Zeile “timeout after”, Speicherverbrauch des Prozesses, eigene Grenzwerte; passt nichts, weitere Ursachen prüfen und den Vorgang verkleinern
Der Fehler erscheint nur in der Kopie Die Kopie ist neutralisiert; einzelne Funktionen sind dort abgeschaltet Prüfen, ob die Meldung aus einer abgeschalteten Funktion stammt; das rote Banner weist auf die Testumgebung hin
Der Fehler verschwand nach dem Neustart Der Prozess wurde neu gestartet, die Ursache bleibt Zeile vor dem Neustart sichern und dieselbe Ursache weiterverfolgen
Das Menü Protokollierung fehlt Entwicklermodus aus oder Recht für das technische Menü fehlt Entwicklermodus einschalten oder einen Administrator fragen
Kein Serverprotokoll auffindbar Für Odoo Online ist in der Dokumentation kein Kundenweg zu einem Serverprotokoll beschrieben Reproduzieren, Administrator-Aktivitätsprotokoll prüfen, Support-Ticket anlegen

Wann Sie Hilfe holen sollten

Ziehen Sie eine Entwickler- oder Partnerrolle hinzu, wenn die letzte Zeile des Tracebacks in ein eigenes Modul oder in eine Anpassung zeigt. Bei Fehlern, die auf beschädigte oder widersprüchliche Daten zurückgehen, ist die Wiederherstellung der sicherere Weg als eine Änderung in der Produktion (Odoo-Datenbank exportieren und wiederherstellen). Auf Odoo Online bleibt als Weg das Support-Ticket, weil Sie die Serverebene nicht selbst einsehen. Bleibt eine Anfrage langsam, ohne Fehlermeldung, gehört sie zur Ursachensuche bei langen Antwortzeiten (Odoo ist langsam).

Häufige Fragen

Der Fehler steht nur in einem Browserfenster. Ist das ein Serverfehler?

Nicht unbedingt. Zeigt Odoo einen Dialog mit einer verständlichen Meldung, weist das auf einen abgewiesenen Vorgang hin (etwa eine fehlende Berechtigung), nicht auf einen Absturz. Prüfen Sie dann, ob andere Benutzer dieselbe Aktion ausführen können und ob die Konsole des Browsers einen JavaScript-Fehler zeigt; mit ?debug=assets nennt der Stacktrace zusätzlich die Quelldatei.

Kann ich bei Odoo Online im Serverprotokoll nachsehen?

Die Dokumentation 20.0 beschreibt für Odoo Online keinen Kundenweg zu einem Serverprotokoll. Sie führt die Administrator-Aktivitätsprotokolle im Datenbank-Manager und deren Abruf über die JSON-2-API, höchstens einmal alle fünf Minuten; diese Protokolle zeigen Aktionen von Odoo-Mitarbeitern und des Datenbank-Administrators, nicht den Anwendungs-Traceback. Stellen Sie den Fehler in einer Kopie nach und geben Sie im Support-Ticket Pfad, Uhrzeit in UTC, Version und die Originalmeldung an.

Nach einem Neustart ist der Fehler weg. Ist er behoben?

Nicht zwingend. Ein Neustart beendet den betroffenen Prozess, beseitigt aber keine Ursache. Suchen Sie im Protokoll nach der Zeile zu diesem Zeitpunkt: Die harte Speichergrenze und die Wanduhrgrenze beenden einen Worker mitten im Aufruf, die weiche Speichergrenze und die Anfragegrenze erst nach der laufenden Anfrage. Passt eine dieser Zeilen zum Zeitpunkt, ist dieselbe Ursache für den nächsten Vorfall zu erwarten; fehlt sie, kann ein Neustart aus anderem Anlass den Fehler nur verdeckt haben.

Woran erkenne ich, dass der Fehler von einer Testkopie kommt?

Testkopien sind neutralisiert: Geplante Aktionen, ausgehende E-Mails, Banksynchronisierung, Zahlungsanbieter, Liefermethoden und IAP-Token sind dort abgeschaltet, und ein rotes Banner weist auf den Zustand hin; die Dokumentation nennt die Liste unvollständig. Eine Meldung über fehlende E-Mails, Zahlungen oder Lieferungen stammt daher nur dann aus dieser Umgebung, wenn ihre Ursache tatsächlich eine der abgeschalteten Funktionen ist; im Übrigen kann die Kopie anders reagieren als die Produktion.

Quellen

  1. Odoo.sh, Branches: Abschnitte Tabs (Logs mit pip.log, install.log, odoosh-import-database.log, odoo.log, update.log, pg_slow_queries.log, sh_webshell.log, sh_editor.log, neutralize.log), Monitor (UTC-Hinweis, HTTP errors), fünf Minuten Abrufdauer, Stages (Rückfall auf die vorherige erfolgreiche Revision)Odoo S.A., Dokumentation 20.0 · abgerufen am
  2. Odoo.sh, Settings: Abschnitte Collaborators (Rollen Admin, Tester, Developer) und Feature access by stage and role (Logs und Monitor im Produktionszweig nur für Admin)Odoo S.A., Dokumentation 20.0 · abgerufen am
  3. Odoo.sh, Advanced topics: Abschnitte Directory structure (~/logs mit odoo.log), Database shell, Run an Odoo server, Debugging in Odoo.sh, Scheduled actionsOdoo S.A., Dokumentation 20.0 · abgerufen am
  4. Odoo.sh, Builds: Abschnitt Overview und Stages (Status successful, almost successful, failed)Odoo S.A., Dokumentation 20.0 · abgerufen am
  5. Command-line interface (Abschnitte Logging und Multiprocessing): Stufen INFO, WARNING und ERROR auf stderr, --logfile, --log-db in das Modell ir.logging, --log-handler, --log-level, --log-web, --log-sql, --log-config statt --syslog ab 20.0, Vorgabewerte limit_memory_soft 2048 MiB, limit_memory_hard 2560 MiB, limit_time_cpu 60, limit_time_real 120, limit_request 8196Odoo S.A., Entwicklerdokumentation 20.0 · abgerufen am
  6. System configuration (On-Premise, Deploy): Abschnitte Builtin server (Prozesswächter), HTTPS (Proxy-Modus, nginx-Beispiel mit proxy_read_timeout, proxy_connect_timeout und proxy_send_timeout 720s)Odoo S.A., Dokumentation 20.0 · abgerufen am
  7. Web Controllers / Request dispatching (developer reference): JSON-RPC-Fehlerantwort mit data.debug (Traceback) und die Trennung von Fehlermeldung und ProtokollOdoo S.A., Entwicklerdokumentation 20.0 · abgerufen am
  8. Error handling (Frontend, developer reference): Fehlerdialog mit Stacktrace zum Kopieren, UserError und AccessError als Dialoge, LostConnection, Quellkarten im Modus assetsOdoo S.A., Entwicklerdokumentation 20.0 · abgerufen am
  9. Entwicklermodus (Fehlerbeseitigungsmodus): Aktivierung über die Einstellungen sowie ?debug=1 und ?debug=assets in der AdresseOdoo S.A., Dokumentation 20.0 (deutsche Fassung) · abgerufen am
  10. Odoo Online: Abschnitte Duplicate (Option Zu Testzwecken, 15 Tage, höchstens fünf Duplikate), View admin activity logs und Audit logs (get_audit_logs höchstens einmal alle 5 Minuten)Odoo S.A., Dokumentation 20.0 · abgerufen am
  11. Neutralisierte Datenbank: deaktivierte Funktionen (geplante Aktionen, ausgehende E-Mails, Banksynchronisierung, Zahlungsanbieter, Liefermethoden, IAP-Token, Sichtbarkeit der Website) und TestdatenbankenOdoo S.A., Dokumentation 20.0 (deutsche Fassung) · abgerufen am
  12. Standard and extended support: Support-Stufen, Odoo 20.0 erschienen im September 2026, Ende des Standard-Supports September 2029 (geplant)Odoo S.A., Dokumentation 20.0 · abgerufen am
  13. Hosting: Abschnitte Transferring a database (Vorgehen über ein Support-Ticket)Odoo S.A., Dokumentation 20.0 · abgerufen am
  14. RFC 9110, HTTP Semantics: Abschnitt 15.6.1 (500 Internal Server Error), 15.6.3 (502 Bad Gateway) und 15.6.5 (504 Gateway Timeout)IETF, RFC Editor · abgerufen am
  15. The Python Tutorial, Errors and Exceptions: Die letzte Zeile der Fehlermeldung nennt Ausnahmeart und Meldung, die Zeilen davor zeigen den Weg (Stacktrace)Python Software Foundation, Python 3 Dokumentation · abgerufen am
  16. Quellcode odoo/odoo, Zweig 20.0, odoo/service/server.py (Community): Meldungen Virtual memory limit (%s) reached., Max request (%s) reached., CPU time limit (%s) reached., Worker (%s): dead sowie %s (%s) timeout after %ss aus dem ProzesswächterOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  17. Quellcode odoo/odoo, Zweig 20.0, odoo/http/server.py und odoo/http/server_log.py (Community): Protokollbereich odoo.http.server und Felder der Zugriffszeile (Anfragezeile, Statuscode, Antwortlänge, Zahl und Dauer der Abfragen, Restzeit)Odoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  18. Quellcode odoo/odoo, Zweig 20.0, odoo/addons/base/views/base_menus.xml, odoo/addons/base/views/ir_logging_views.xml und odoo/addons/base/i18n/de.po (Community): Menü Technisch (Gruppe base.group_no_one), darunter Datenbankstruktur mit dem Eintrag Logging (deutsch: Protokollierung)Odoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  19. Quellcode odoo/odoo, Zweig 20.0, odoo/addons/base/models/ir_logging.py (Community): Einträge des Modells ir.logging werden per SQL geschrieben, --log-db kann in eine andere Datenbank schreibenOdoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  20. Release Notes: Version 20, veröffentlicht im September 2026Odoo S.A. · abgerufen am