refactor(log): refactor the whole project

format: {time:YYYY-MM-DD HH:mm:ss} [{level}] | {name} | {message}
{name} is:
- Uvicorn: log from uvicorn server (#228B22)
- Service: log from class of `app.service` (blue)
- Fetcher: log from fetchers (magenta)
- Task: log from `app.tasks` (#FFD700)
- System: log from `system_logger` (red)
- Normal: log from `log(name)` (#FFC1C1)
- Default: the module name of caller

if you are writing services or tasks, you can just call `logger.`, we will pack it with name `Service` or `Task`
if you want to print fetcher logs, system-related logs, or normal logs, use `logger = (fetcher_logger / system_logger / log)(name)`
This commit is contained in:
MingxuanGame
2025-10-03 11:44:47 +00:00
parent fce88272b5
commit d23f32f08d
27 changed files with 210 additions and 174 deletions

View File

@@ -22,7 +22,7 @@ from app.database.statistics import UserStatistics
from app.dependencies.database import Database, Redis
from app.dependencies.geoip import GeoIPService, IPAddress
from app.dependencies.user_agent import UserAgentInfo
from app.log import logger
from app.log import log
from app.models.extended_auth import ExtendedTokenResponse
from app.models.oauth import (
OAuthErrorResponse,
@@ -44,6 +44,8 @@ from fastapi.responses import JSONResponse
from sqlalchemy import text
from sqlmodel import exists, select
logger = log("Auth")
def create_oauth_error_response(error: str, description: str, hint: str, status_code: int = 400):
"""创建标准的 OAuth 错误响应"""
@@ -360,9 +362,7 @@ async def oauth_token(
await LoginSessionService.mark_session_verified(
db, redis, user_id, token_id, ip_address, user_agent, web_uuid
)
logger.debug(
f"[Auth] New location login detected but email verification disabled, auto-verifying user {user_id}"
)
logger.debug(f"New location login detected but email verification disabled, auto-verifying user {user_id}")
else:
# 不是新设备登录,正常登录
await LoginLogService.record_login(
@@ -505,7 +505,7 @@ async def oauth_token(
)
# 打印jwt
logger.info(f"[Auth] Generated JWT for user {user_id}: {access_token}")
logger.info(f"Generated JWT for user {user_id}: {access_token}")
return TokenResponse(
access_token=access_token,