это не смотри, это какие то наркоманы со стаковерфлоу судя по всему.
Добрался до компа
Наша задача проста как топор - получить локалсы в случае возникновения эксепшена
Адаптировал враппер.
import sys
def check_wrapper(func):
def func_wrapper(*args, **kwargs):
try:
func(*args, **kwargs) # No return values
except AssertionError as ae:
logger.error(f"Assertion failed: {str(ae)}")
logger.error(f"Local variables: {sys.exc_info()[2].tb_next.tb_frame.f_locals}")
raise
except Exception as e:
logger.exception(str(e))
logger.error(f"Unknown error: {str(e)}")
raise
update_wrapper(func_wrapper, func)
return func_wrapper