"""银行接口请求文件日志记录器。 使用 get_logger 模式,日志输出到 log/bank_api/bank_api-YYYY-MM-DD.log。 """ import json from datetime import datetime, timezone from app.utils.logger import get_logger bank_api_logger = get_logger("bank_api", "bank_api") def log_bank_api_request( acct_no: str, request_params: dict | None, response_data: dict | None, status_code: int | None, is_success: bool, error_msg: str | None = None, admin_id: str | None = None, duration_ms: int | None = None, ) -> None: """记录银行接口请求到日志文件。 :param acct_no: 查询的银行账号 :param request_params: 请求参数 :param response_data: 响应数据 :param status_code: HTTP 状态码 :param is_success: 是否成功 :param error_msg: 错误信息 :param admin_id: 操作管理员 ID :param duration_ms: 请求耗时(毫秒) """ log_data = { "timestamp": datetime.now(timezone.utc).isoformat(), "acct_no": acct_no, "request_params": request_params, "response_data": response_data, "status_code": status_code, "is_success": is_success, "error_msg": error_msg, "admin_id": admin_id, "duration_ms": duration_ms, } line = json.dumps(log_data, ensure_ascii=False, default=str) if is_success: bank_api_logger.info(line) else: bank_api_logger.error(line)