def auth_audit_log(response):
"""On deployment remove the ``crossdomain`` decorator"""
try:
jdata = json.loads(request.data.decode())
if 'password' in jdata:
jdata['password'] = '*********'
jdata_str = json.dumps(jdata)
except ValueError:
jdata_str = ''
kwargs = {
'module': auth.name,
'user': current_user.name,
'email': current_user.email,
'action': _HTTP_METHOD_TO_AUDIT_MAP[request.method.lower()],
'data': addslashes(jdata_str),
'url': request.url,
'endpoint': request.endpoint,
'ip': request.remote_addr,
'status': response.status,
'timestamp': datetime.datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')
}
entry = []
for k, v in kwargs.items():
entry.append('{0!s}="{1!s}"'.format(k, v))
entry = ' '.join(entry)
current_app.audit_log.info('{0!s}'.format(entry))
return response
评论列表
文章目录