diff --git a/platypush/message/request/__init__.py b/platypush/message/request/__init__.py index 6ff30dc3..6737e0ea 100644 --- a/platypush/message/request/__init__.py +++ b/platypush/message/request/__init__.py @@ -130,8 +130,10 @@ class Request(Message): if isinstance(v, str): try: exec('{}="{}"'.format(k, re.sub(r'(^|[^\\])"', '\1\\"', v))) - except: - pass + except Exception as e: + logger.warning('Could not set context variable {}={}'.format(k, v)) + logger.warning('Context: {}'.format(json.dumps(context))) + logger.exception(e) parsed_value = '' if not isinstance(_value, str): diff --git a/platypush/procedure/__init__.py b/platypush/procedure/__init__.py index 31ab570f..1bea767d 100644 --- a/platypush/procedure/__init__.py +++ b/platypush/procedure/__init__.py @@ -1,4 +1,5 @@ import enum +import json import logging import re from functools import wraps @@ -340,8 +341,10 @@ class WhileProcedure(LoopProcedure): # noinspection PyBroadException try: context[k] = eval('"{}"'.format(re.sub(r'(^|[^\\])"', '\1\\"', v))) - except: - pass + except Exception as e: + logger.warning('Could not parse value for context variable {}={}'.format(k, v)) + logger.warning('Context: {}'.format(json.dumps(context))) + logger.exception(e) return context @@ -453,8 +456,10 @@ class IfProcedure(Procedure): if isinstance(v, str): try: exec('{}="{}"'.format(k, re.sub(r'(^|[^\\])"', '\1\\"', v))) - except: - pass + except Exception as e: + logger.warning('Could not set context variable {}={}'.format(k, v)) + logger.warning('Context: {}'.format(json.dumps(context))) + logger.exception(e) condition_true = eval(self.condition) response = Response()