From 9c26945393ec2e0e1fdbab94e9d2350bfa758c9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A0n=20Todorovich?= Date: Tue, 24 May 2022 14:41:16 -0300 Subject: [PATCH] [IMP] base_exception: log traceback when code exception is raised --- base_exception/__manifest__.py | 2 +- base_exception/models/base_exception.py | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/base_exception/__manifest__.py b/base_exception/__manifest__.py index 125e3674d..0ba71a9e3 100644 --- a/base_exception/__manifest__.py +++ b/base_exception/__manifest__.py @@ -5,7 +5,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { "name": "Exception Rule", - "version": "14.0.2.0.0", + "version": "14.0.2.1.0", "category": "Generic Modules", "summary": """ This module provide an abstract model to manage customizable diff --git a/base_exception/models/base_exception.py b/base_exception/models/base_exception.py index 71236c9c9..2df40243b 100644 --- a/base_exception/models/base_exception.py +++ b/base_exception/models/base_exception.py @@ -5,12 +5,15 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). import html +import logging from odoo import _, api, fields, models from odoo.exceptions import UserError, ValidationError from odoo.osv import expression from odoo.tools.safe_eval import safe_eval +_logger = logging.getLogger(__name__) + class ExceptionRule(models.Model): _name = "exception.rule" @@ -157,9 +160,13 @@ class BaseExceptionMethod(models.AbstractModel): expr, space, mode="exec", nocopy=True ) # nocopy allows to return 'result' except Exception as e: + _logger.exception(e) raise UserError( - _("Error when evaluating the exception.rule rule:\n %s \n(%s)") - % (rule.name, e) + _( + "Error when evaluating the exception.rule rule:\n %s \n(%s)", + rule.name, + e, + ) ) return space.get("failed", False)