51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
"""银行接口请求文件日志记录器。
|
|
|
|
使用 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)
|