def log_error(message, instance):
# serialising model instance
# https://stackoverflow.com/questions/757022/how-do-you-serialize-a-model-instance-in-django
data = serialize('json', [instance, ])
struct = json.loads(data)
try:
# replace long String64 function with useful info
f = instance.function
signature = str(inspect.signature(f))
if hasattr(f, 'args'):
signature += ', args='+str(f.args)
if hasattr(f, 'kwargs'):
signature += ', kwargs=' + str(f.kwargs)
struct[0]['fields']['function'] = str(f.__module__+"."+f.__name__ + signature)
except Exception:
pass
data = json.dumps(struct[0])
logger.error(message + ' ' + data)
评论列表
文章目录