37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
|
|
import logging
|
||
|
|
|
||
|
|
audit_logger = logging.getLogger('audit')
|
||
|
|
|
||
|
|
|
||
|
|
def log_login_success(user_id, phone, ip=None, ua=None):
|
||
|
|
audit_logger.info('LOGIN_SUCCESS user_id=%s phone=%s ip=%s ua=%s', user_id, phone, ip, ua)
|
||
|
|
|
||
|
|
|
||
|
|
def log_login_fail(phone, ip=None, reason=None):
|
||
|
|
audit_logger.warning('LOGIN_FAIL phone=%s ip=%s reason=%s', phone, ip, reason)
|
||
|
|
|
||
|
|
|
||
|
|
def log_register(user_id, phone):
|
||
|
|
audit_logger.info('USER_REGISTER user_id=%s phone=%s', user_id, phone)
|
||
|
|
|
||
|
|
|
||
|
|
def log_logout(user_id, jti=None):
|
||
|
|
audit_logger.info('USER_LOGOUT user_id=%s jti=%s', user_id, jti)
|
||
|
|
|
||
|
|
|
||
|
|
def log_password_change(user_id):
|
||
|
|
audit_logger.warning('PASSWORD_CHANGE user_id=%s', user_id)
|
||
|
|
|
||
|
|
|
||
|
|
def log_password_reset(user_id):
|
||
|
|
audit_logger.warning('PASSWORD_RESET user_id=%s', user_id)
|
||
|
|
|
||
|
|
|
||
|
|
def log_user_list(viewer_id, filters=None):
|
||
|
|
audit_logger.info('USER_LIST viewer=%s filters=%s', viewer_id, filters)
|
||
|
|
|
||
|
|
|
||
|
|
def log_case_event(event, case_id=None, user_id=None, **extra):
|
||
|
|
extra_str = ' '.join(f'{k}={v}' for k, v in extra.items())
|
||
|
|
audit_logger.info('CASE_%s case_id=%s user_id=%s %s', event.upper(), case_id, user_id, extra_str)
|