Files

37 lines
1.1 KiB
Python
Raw Permalink Normal View History

2026-05-29 15:58:00 +08:00
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)