REST Log

rest_log
REPOSITORY
REPOSITORYOCA/rest-framework
GIT
GIThttps://github.com/OCA/rest-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rest-framework/tree/19.0/rest_log
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACSONE
COMMITTERS
COMMITTERSStéphane Bidoul
WEBSITE
WEBSITEhttps://github.com/OCA/rest-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:45
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/rest-framework:
    - base_rest
odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
When exposing REST services is often useful to see what's happening
especially in case of errors.

This module add DB logging for REST requests. It also inject in the
response the URL of the log entry created.

NOTE: this feature was implemented initially inside shopfloor app. Up to
version 13.0.1.2.1 of this module, if shopfloor is installed, log
records will be copied from its table.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
rest_log_form_view rest.log form rest.log form New
rest_log_search_view rest.log search rest.log search New
rest_log_tree_view rest.log tree rest.log list New
Models touched (1)

New fields (12)
  • collection Char
    index=True
  • collection_id Integer
    index=True string='Collection ID'
  • error Text
    readonly=True
  • exception_message Text
    readonly=True
  • exception_name Char
    readonly=True string='Exception'
  • headers Text
    readonly=True
  • params Text
    readonly=True
  • request_method Char
    readonly=True
  • request_url Char
    readonly=True string='Request URL'
  • result Text
    readonly=True
  • severity Selection
    compute='_compute_severity' readonly=False selection=[('functional', 'Functional'), ('warning', 'Warning'), ('severe', 'Severe')] store=True
  • state Selection
    readonly=True selection=[('success', 'Success'), ('failed', 'Failed')]
Public methods (3)
  • action_view_collection(self)
    Open collection if we have a real record. NOTE: use an action instead of a `Reference` field with computed method because it would force use to have glue modules to provide a selection for every model we want to support.
  • autovacuum(self)
    Delete logs which have exceeded their retention duration Called from a cron.
  • logging_active(self)
REPOSITORY
REPOSITORYOCA/rest-framework
GIT
GIThttps://github.com/OCA/rest-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rest-framework/tree/18.0/rest_log
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACSONE
COMMITTERS
COMMITTERSGitHub, Laurent Mignon (ACSONE), OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/rest-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/rest-framework:
    - base_rest
odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
When exposing REST services is often useful to see what's happening
especially in case of errors.

This module add DB logging for REST requests. It also inject in the
response the URL of the log entry created.

NOTE: this feature was implemented initially inside shopfloor app. Up to
version 13.0.1.2.1 of this module, if shopfloor is installed, log
records will be copied from its table.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
rest_log_form_view rest.log form rest.log form New
rest_log_search_view rest.log search rest.log search New
rest_log_tree_view rest.log tree rest.log list New
Models touched (1)

New fields (12)
  • collection Char
    index=True
  • collection_id Integer
    index=True string='Collection ID'
  • error Text
    readonly=True
  • exception_message Text
    readonly=True
  • exception_name Char
    readonly=True string='Exception'
  • headers Text
    readonly=True
  • params Text
    readonly=True
  • request_method Char
    readonly=True
  • request_url Char
    readonly=True string='Request URL'
  • result Text
    readonly=True
  • severity Selection
    compute='_compute_severity' readonly=False selection=[('functional', 'Functional'), ('warning', 'Warning'), ('severe', 'Severe')] store=True
  • state Selection
    readonly=True selection=[('success', 'Success'), ('failed', 'Failed')]
Public methods (3)
  • action_view_collection(self)
    Open collection if we have a real record. NOTE: use an action instead of a `Reference` field with computed method because it would force use to have glue modules to provide a selection for every model we want to support.
  • autovacuum(self)
    Delete logs which have exceeded their retention duration Called from a cron.
  • logging_active(self)
REPOSITORY
REPOSITORYOCA/rest-framework
GIT
GIThttps://github.com/OCA/rest-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rest-framework/tree/17.0/rest_log
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACSONE
COMMITTERS
COMMITTERS
WEBSITE
WEBSITEhttps://github.com/OCA/rest-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:59:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/rest-framework:
    - base_rest
odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
rest_log_form_view rest.log form rest.log form New
rest_log_search_view rest.log search rest.log search New
rest_log_tree_view rest.log tree rest.log tree New
Models touched (1)

New fields (12)
  • collection Char
    index=True
  • collection_id Integer
    index=True string='Collection ID'
  • error Text
    readonly=True
  • exception_message Text
    readonly=True
  • exception_name Char
    readonly=True string='Exception'
  • headers Text
    readonly=True
  • params Text
    readonly=True
  • request_method Char
    readonly=True
  • request_url Char
    readonly=True string='Request URL'
  • result Text
    readonly=True
  • severity Selection
    compute='_compute_severity' readonly=False selection=[('functional', 'Functional'), ('warning', 'Warning'), ('severe', 'Severe')] store=True
  • state Selection
    readonly=True selection=[('success', 'Success'), ('failed', 'Failed')]
Public methods (3)
  • action_view_collection(self)
    Open collection if we have a real record. NOTE: use an action instead of a `Reference` field with computed method because it would force use to have glue modules to provide a selection for every model we want to support.
  • autovacuum(self)
    Delete logs which have exceeded their retention duration Called from a cron.
  • logging_active(self)
REPOSITORY
REPOSITORYOCA/rest-framework
GIT
GIThttps://github.com/OCA/rest-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rest-framework/tree/16.0/rest_log
VERSION
VERSION 1.0.4
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACSONE
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), sbejaoui, Weblate, OCA-git-bot, oca-ci, PicchiSeba
WEBSITE
WEBSITEhttps://github.com/OCA/rest-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:47
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/rest-framework:
    - base_rest
odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
rest_log_form_view rest.log form rest.log form New
rest_log_search_view rest.log search rest.log search New
rest_log_tree_view rest.log tree rest.log tree New
Models touched (1)

New fields (12)
  • collection Char
    index=True
  • collection_id Integer
    index=True string='Collection ID'
  • error Text
    readonly=True
  • exception_message Text
    readonly=True
  • exception_name Char
    readonly=True string='Exception'
  • headers Text
    readonly=True
  • params Text
    readonly=True
  • request_method Char
    readonly=True
  • request_url Char
    readonly=True string='Request URL'
  • result Text
    readonly=True
  • severity Selection
    compute='_compute_severity' readonly=False selection=[('functional', 'Functional'), ('warning', 'Warning'), ('severe', 'Severe')] store=True
  • state Selection
    readonly=True selection=[('success', 'Success'), ('failed', 'Failed')]
Public methods (3)
  • action_view_collection(self)
    Open collection if we have a real record. NOTE: use an action instead of a `Reference` field with computed method because it would force use to have glue modules to provide a selection for every model we want to support.
  • autovacuum(self)
    Delete logs which have exceeded their retention duration Called from a cron.
  • logging_active(self)
REPOSITORY
REPOSITORYOCA/rest-framework
GIT
GIThttps://github.com/OCA/rest-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rest-framework/tree/15.0/rest_log
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACSONE
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), OCA-git-bot, Simone Orsi, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/rest-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:34
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/rest-framework:
    - base_rest
odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec>=4.0.0
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
rest_log_form_view rest.log form rest.log form New
rest_log_search_view rest.log search rest.log search New
rest_log_tree_view rest.log tree rest.log tree New
Models touched (1)

New fields (12)
  • collection Char
    index=True
  • collection_id Integer
    index=True string='Collection ID'
  • error Text
    readonly=True
  • exception_message Text
    readonly=True
  • exception_name Char
    readonly=True string='Exception'
  • headers Text
    readonly=True
  • params Text
    readonly=True
  • request_method Char
    readonly=True
  • request_url Char
    readonly=True string='Request URL'
  • result Text
    readonly=True
  • severity Selection
    compute='_compute_severity' readonly=False selection=[('functional', 'Functional'), ('warning', 'Warning'), ('severe', 'Severe')] store=True
  • state Selection
    readonly=True selection=[('success', 'Success'), ('failed', 'Failed')]
Public methods (3)
  • action_view_collection(self)
    Open collection if we have a real record. NOTE: use an action instead of a `Reference` field with computed method because it would force use to have glue modules to provide a selection for every model we want to support.
  • autovacuum(self)
    Delete logs which have exceeded their retention duration Called from a cron.
  • logging_active(self)
REPOSITORY
REPOSITORYOCA/rest-framework
GIT
GIThttps://github.com/OCA/rest-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rest-framework/tree/14.0/rest_log
VERSION
VERSION 1.4.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACSONE
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), oca-travis, Weblate, OCA-git-bot, Simone Orsi, Alessio Renda
WEBSITE
WEBSITEhttps://github.com/OCA/rest-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/rest-framework:
    - base_rest
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
rest_log_form_view rest.log form rest.log form New
rest_log_search_view rest.log search rest.log search New
rest_log_tree_view rest.log tree rest.log tree New
Models touched (1)

New fields (12)
  • collection Char
    index=True
  • collection_id Integer
    index=True string='Collection ID'
  • error Text
    readonly=True
  • exception_message Text
    readonly=True
  • exception_name Char
    readonly=True string='Exception'
  • headers Text
    readonly=True
  • params Text
    readonly=True
  • request_method Char
    readonly=True
  • request_url Char
    readonly=True string='Request URL'
  • result Text
    readonly=True
  • severity Selection
    compute='_compute_severity' readonly=False selection=[('functional', 'Functional'), ('warning', 'Warning'), ('severe', 'Severe')] store=True
  • state Selection
    readonly=True selection=[('success', 'Success'), ('failed', 'Failed')]
Public methods (3)
  • action_view_collection(self)
    Open collection if we have a real record. NOTE: use an action instead of a `Reference` field with computed method because it would force use to have glue modules to provide a selection for every model we want to support.
  • autovacuum(self)
    Delete logs which have exceeded their retention duration Called from a cron.
  • logging_active(self)
REPOSITORY
REPOSITORYOCA/rest-framework
GIT
GIThttps://github.com/OCA/rest-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rest-framework/tree/13.0/rest_log
VERSION
VERSION 1.5.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACSONE
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, OCA-git-bot, Simone Orsi, SilvioC2C
WEBSITE
WEBSITEhttps://github.com/OCA/rest-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/rest-framework:
    - base_rest
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
rest_log_form_view rest.log form rest.log form New
rest_log_search_view rest.log search rest.log search New
rest_log_tree_view rest.log tree rest.log tree New
Models touched (1)

New fields (11)
  • collection Char
    index=True
  • error Text
    readonly=True
  • exception_message Text
    readonly=True
  • exception_name Char
    readonly=True string='Exception'
  • headers Text
    readonly=True
  • params Text
    readonly=True
  • request_method Char
    readonly=True
  • request_url Char
    readonly=True string='Request URL'
  • result Text
    readonly=True
  • severity Selection
    compute='_compute_severity' readonly=False selection=[('functional', 'Functional'), ('warning', 'Warning'), ('severe', 'Severe')] store=True
  • state Selection
    readonly=True selection=[('success', 'Success'), ('failed', 'Failed')]
Public methods (2)
  • autovacuum(self)
    Delete logs which have exceeded their retention duration Called from a cron.
  • logging_active(self)
REPOSITORY
REPOSITORYOCA/rest-framework
GIT
GIThttps://github.com/OCA/rest-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/rest-framework/tree/10.0/rest_log
VERSION
VERSION 1.3.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACSONE
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), nans, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/rest-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/rest-framework:
    - base_rest
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES accept_language
cerberus
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
rest_log_form_view rest.log form rest.log form New
rest_log_search_view rest.log search rest.log search New
rest_log_tree_view rest.log tree rest.log tree New
Models touched (2)

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals)

New fields (11)
  • collection Char
    index=True
  • error Text
    readonly=True
  • exception_message Text
    readonly=True
  • exception_name Char
    readonly=True string='Exception'
  • headers Text
    readonly=True
  • params Text
    readonly=True
  • request_method Char
    readonly=True
  • request_url Char
    readonly=True string='Request URL'
  • result Text
    readonly=True
  • severity Selection
    compute='_compute_severity' readonly=False selection=[('functional', 'Functional'), ('warning', 'Warning'), ('severe', 'Severe')] store=True
  • state Selection
    readonly=True selection=[('success', 'Success'), ('failed', 'Failed')]
Public methods (2)
  • autovacuum(self)
    Delete logs which have exceeded their retention duration Called from a cron.
  • logging_active(self)