api_log.py 1015 B

12345678910111213141516171819202122
  1. """
  2. API日志模型
  3. """
  4. from sqlalchemy import Column, BigInteger, Integer, String, DateTime, Text, ForeignKey
  5. from app.database import Base
  6. class APILog(Base):
  7. """API日志表"""
  8. __tablename__ = "api_logs"
  9. id = Column(BigInteger, primary_key=True, index=True, comment="主键ID")
  10. user_id = Column(Integer, ForeignKey("users.id"), index=True, comment="用户ID")
  11. endpoint = Column(String(500), nullable=False, index=True, comment="接口路径")
  12. method = Column(String(10), nullable=False, index=True, comment="HTTP方法")
  13. request_data = Column(Text, comment="请求数据")
  14. response_data = Column(Text, comment="响应数据")
  15. ip_address = Column(String(50), index=True, comment="IP地址")
  16. user_agent = Column(String(500), comment="用户代理")
  17. response_code = Column(Integer, index=True, comment="响应状态码")
  18. execution_time = Column(Integer, comment="执行时间(毫秒)")
  19. created_at = Column(DateTime, index=True, comment="创建时间")