def run_with_logging(function): @wraps(function) def wrapped(*args, **kwargs): logging.basicConfig(filename='logs/' + function.__name__ + '.log', level=logging.DEBUG) logging.info('Starting at ' + str(datetime.now())) try: function(*args, **kwargs) except Exception as e: logging.exception(e) traceback_message = traceback.format_exc() send_an_email.send_email_with_error_message(traceback_message) logging.info('Finished at ' + str(datetime.now())) return wrapped |
try: assert(thing_you_want_to_check_for) except AssertionError as e: e.args += ("Invalid company domain", company_domain) raise |