diff --git a/cmdb-api/api/lib/cmdb/value.py b/cmdb-api/api/lib/cmdb/value.py index 007b1fe..593ef18 100644 --- a/cmdb-api/api/lib/cmdb/value.py +++ b/cmdb-api/api/lib/cmdb/value.py @@ -180,14 +180,15 @@ class AttributeValueManager(object): @staticmethod def _compute_attr_value_from_expr(expr, ci_dict): - t = jinja2.Template(expr).render(ci_dict) - try: - return eval(t) + result = jinja2.Template(expr).render(ci_dict) + return result except Exception as e: - current_app.logger.warning(str(e)) - return t - + current_app.logger.warning( + f"Expression evaluation error - Expression: '{expr}'" + f"Input parameters: {ci_dict}, Error type: {type(e).__name__}, Error message: {str(e)}" + ) + return None @staticmethod def _compute_attr_value_from_script(script, ci_dict): script = jinja2.Template(script).render(ci_dict)