diff --git a/packages/adapters/redis/session_store.py b/packages/adapters/redis/session_store.py old mode 100755 new mode 100644 index 9c8815e4c..0ba0aa253 --- a/packages/adapters/redis/session_store.py +++ b/packages/adapters/redis/session_store.py @@ -4,6 +4,7 @@ Redis Session 存储 """ import json +import logging from datetime import datetime, timedelta, timezone from typing import Optional @@ -12,6 +13,8 @@ from redis import Redis from packages.domain.auth.session_store import SessionStorePort +logger = logging.getLogger(__name__) + class RedisConfig: """Redis 配置""" @@ -147,7 +150,7 @@ class SessionStore(SessionStorePort): return True except Exception as e: - print(f"Failed to save session: {e}") + logger.warning(f"Redis session save failed: {e}") return False def get_session(self, session_id: str) -> Optional[dict]: @@ -168,7 +171,7 @@ class SessionStore(SessionStorePort): return json.loads(data) return None except Exception as e: - print(f"Failed to get session: {e}") + logger.warning(f"Redis session get failed: {e}") return None def get_session_by_refresh_token(self, refresh_token: str) -> Optional[dict]: @@ -192,7 +195,7 @@ class SessionStore(SessionStorePort): # 再获取完整的 session 数据 return self.get_session(session_id) except Exception as e: - print(f"Failed to get session by refresh_token: {e}") + logger.warning(f"Redis session get by refresh failed: {e}") return None def get_refresh_token(self, session_id: str) -> Optional[str]: @@ -209,7 +212,7 @@ class SessionStore(SessionStorePort): refresh_token_key = self._refresh_token_key(session_id) return self.redis.get(refresh_token_key) except Exception as e: - print(f"Failed to get refresh_token: {e}") + logger.warning(f"Redis refresh token get failed: {e}") return None def update_last_active(self, session_id: str) -> bool: @@ -238,7 +241,7 @@ class SessionStore(SessionStorePort): return False except Exception as e: - print(f"Failed to update last active: {e}") + logger.warning(f"Redis session update active failed: {e}") return False def delete_session(self, session_id: str) -> bool: @@ -278,7 +281,7 @@ class SessionStore(SessionStorePort): return True except Exception as e: - print(f"Failed to delete session: {e}") + logger.warning(f"Redis session delete failed: {e}") return False def get_user_sessions(self, user_id: str) -> list[dict]: @@ -303,7 +306,7 @@ class SessionStore(SessionStorePort): return sessions except Exception as e: - print(f"Failed to get user sessions: {e}") + logger.warning(f"Redis user sessions list failed: {e}") return [] def delete_all_user_sessions(self, user_id: str) -> int: @@ -330,7 +333,7 @@ class SessionStore(SessionStorePort): return count except Exception as e: - print(f"Failed to delete all user sessions: {e}") + logger.warning(f"Redis user sessions delete failed: {e}") return 0 def session_exists(self, session_id: str) -> bool: diff --git a/packages/application/auth/password_reset_use_case.py b/packages/application/auth/password_reset_use_case.py old mode 100755 new mode 100644 index ec351907b..c8ce88032 --- a/packages/application/auth/password_reset_use_case.py +++ b/packages/application/auth/password_reset_use_case.py @@ -2,6 +2,7 @@ 密码重置 Use Case """ +import logging import secrets from datetime import datetime, timedelta, timezone from typing import Optional @@ -9,6 +10,8 @@ from typing import Optional from packages.adapters.smtp import get_email_service from packages.application.auth.password_hasher import password_hasher, password_validator +logger = logging.getLogger(__name__) + class RequestPasswordResetRequest: """请求密码重置""" @@ -82,10 +85,10 @@ class RequestPasswordResetUseCase: ) if not success: - print(f"Failed to send password reset email: {error}") + logger.warning(f"Password reset email failed: {error}") # 不返回错误,避免暴露用户存在性 except Exception as e: - print(f"Email service error: {e}") + logger.error(f"Email service error: {e}", exc_info=True) return True, None diff --git a/packages/application/auth/register_user_use_case.py b/packages/application/auth/register_user_use_case.py old mode 100755 new mode 100644 index ae2ed6d13..25de08e4a --- a/packages/application/auth/register_user_use_case.py +++ b/packages/application/auth/register_user_use_case.py @@ -2,6 +2,7 @@ 用户注册 Use Case """ +import logging import secrets from datetime import datetime, timezone from typing import Optional @@ -11,6 +12,8 @@ from packages.adapters.smtp import get_email_service from packages.application.auth.password_hasher import password_hasher, password_validator from packages.domain.entities import User +logger = logging.getLogger(__name__) + class RegisterUserRequest: """注册请求""" @@ -136,9 +139,9 @@ class RegisterUserUseCase: email_sent = success if not success: - print(f"Failed to send verification email: {error}") + logger.warning(f"Verification email failed: {error}") except Exception as e: - print(f"Email service error: {e}") + logger.error(f"Email service error: {e}", exc_info=True) # 10. 返回响应(即使邮件发送失败,用户也已创建) return (