chore:清理代码,移除不必要的注释和导入,优化日志记录和错误处理

This commit is contained in:
snaily
2025-04-21 13:20:32 +08:00
parent a7085964e8
commit f83f0fa768
13 changed files with 8 additions and 46 deletions

View File

@@ -11,13 +11,6 @@ from sqlalchemy import insert, update, select
from app.core.constants import API_VERSION, DEFAULT_CREATE_IMAGE_MODEL, DEFAULT_FILTER_MODELS, DEFAULT_MODEL, DEFAULT_STREAM_CHUNK_SIZE, DEFAULT_STREAM_LONG_TEXT_THRESHOLD, DEFAULT_STREAM_MAX_DELAY, DEFAULT_STREAM_MIN_DELAY, DEFAULT_STREAM_SHORT_TEXT_THRESHOLD, DEFAULT_TIMEOUT, MAX_RETRIES
from app.log.logger import Logger
# from app.log.logger import get_config_logger # 移除顶层导入
# 延迟导入以避免循环依赖,仅在 sync_initial_settings 中使用
# from app.database.connection import database
# from app.database.models import Settings as SettingsModel
# from app.database.services import get_all_settings # get_all_settings 可能不适合启动时调用,直接查询
# logger = get_config_logger() # 移除顶层初始化
class Settings(BaseSettings):
@@ -308,10 +301,7 @@ async def sync_initial_settings():
finally:
if database.is_connected:
try:
# Don't disconnect if it's managed elsewhere (e.g., FastAPI lifespan)
# await database.disconnect()
# logger.info("Database connection closed after initial sync.")
pass # Assume connection lifecycle is managed by the application lifespan
pass
except Exception as e:
logger.error(f"Error disconnecting database after initial sync: {e}")

View File

@@ -1,6 +1,3 @@
"""
应用程序工厂模块负责创建和配置FastAPI应用程序实例
"""
from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
@@ -15,8 +12,8 @@ from app.service.key.key_manager import get_key_manager_instance
from app.core.initialization import initialize_app
from app.database.connection import connect_to_db, disconnect_from_db
from app.database.initialization import initialize_database
from app.scheduler.key_checker import start_scheduler, stop_scheduler # 导入调度器函数
from app.service.update.update_service import check_for_updates # 导入更新检查服务
from app.scheduler.key_checker import start_scheduler, stop_scheduler
from app.service.update.update_service import check_for_updates
logger = get_application_logger()

View File

@@ -1,4 +1,3 @@
# app/services/chat/message_converter.py
from abc import ABC, abstractmethod
import json

View File

@@ -1,4 +1,3 @@
# app/services/chat/response_handler.py
import base64
import json

View File

@@ -1,4 +1,3 @@
# app/services/chat/retry_handler.py
from functools import wraps
from typing import Callable, TypeVar

View File

@@ -1,4 +1,3 @@
# app/services/chat/stream_optimizer.py
import asyncio
import math
@@ -107,15 +106,11 @@ class StreamOptimizer:
# 计算智能延迟时间
delay = self.calculate_delay(len(text))
# if self.logger:
# self.logger.info(f"Text length: {len(text)}, delay: {delay:.4f}s")
# 根据文本长度决定输出方式
if len(text) >= self.long_text_threshold:
# 长文本:分块输出
chunks = self.split_text_into_chunks(text)
# if self.logger:
# self.logger.info(f"Long text: splitting into {len(chunks)} chunks")
for chunk_text in chunks:
chunk_response = create_response_chunk(chunk_text)
yield format_chunk(chunk_response)

View File

@@ -113,8 +113,6 @@ class Logger:
# 可选:记录级别变更日志,但注意避免在日志模块内部产生过多日志
# print(f"Updated log level for logger '{logger_name}' to {log_level_str.upper()}")
updated_count += 1
# if updated_count > 0:
# print(f"Updated log level for {updated_count} loggers to {log_level_str.upper()}.")
# 预定义的loggers

View File

@@ -1,18 +1,11 @@
"""
应用程序入口模块
"""
import uvicorn
from app.core.application import create_app
from app.log.logger import get_main_logger
# 创建应用程序实例
app = create_app()
# 配置日志
logger = get_main_logger()
if __name__ == "__main__":
logger = get_main_logger()
logger.info("Starting application server...")
uvicorn.run(app, host="0.0.0.0", port=8001)

View File

@@ -72,7 +72,6 @@ async def get_error_logs_api(
error_search=error_search, # 数据库查询需要处理这个
start_date=start_date,
end_date=end_date,
# include_error_code=True # 如果需要显式传递
)
# Fetch total count with the same search parameters
total_count = await get_error_logs_count(

View File

@@ -2,12 +2,11 @@ from fastapi import APIRouter, Depends, HTTPException, Request
from starlette import status
from app.core.security import verify_auth_token
from app.service.stats_service import StatsService
from app.log.logger import get_stats_logger # 使用路由日志记录器
from app.log.logger import get_stats_logger
logger = get_stats_logger()
# 认证检查的辅助函数
async def verify_token(request: Request):
auth_token = request.cookies.get("auth_token")
if not auth_token or not verify_auth_token(auth_token):
@@ -21,7 +20,7 @@ async def verify_token(request: Request):
router = APIRouter(
prefix="/api",
tags=["stats"],
dependencies=[Depends(verify_token)] # Assuming API routes need authentication
dependencies=[Depends(verify_token)]
)
stats_service = StatsService()
@@ -52,8 +51,7 @@ async def get_key_usage_details(key: str):
return {}
return usage_details
except Exception as e:
# Log the exception details here if needed
print(f"Error fetching key usage details for key {key[:4]}...: {e}")
logger.error(f"Error fetching key usage details for key {key[:4]}...: {e}")
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail=f"获取密钥使用详情时出错: {e}"

View File

@@ -411,7 +411,6 @@ class OpenAIChatService:
error_log_msg = f"Stream image completion failed for model {model}: {e}"
logger.error(error_log_msg)
status_code = 500 # Default error code
# Call add_error_log using the passed api_key
await add_error_log(
gemini_key=api_key,
model_name=model,
@@ -427,7 +426,6 @@ class OpenAIChatService:
end_time = time.perf_counter()
latency_ms = int((end_time - start_time) * 1000)
logger.info(f"Stream image completion for model {model} took {latency_ms} ms. Success: {is_success}")
# Call add_request_log using the passed api_key
await add_request_log(
model_name=model,
api_key=api_key,
@@ -460,7 +458,6 @@ class OpenAIChatService:
error_log_msg = f"Normal image completion failed for model {model}: {e}"
logger.error(error_log_msg)
status_code = 500 # Default error code
# Call add_error_log using the passed api_key
await add_error_log(
gemini_key=api_key,
model_name=model,
@@ -475,7 +472,6 @@ class OpenAIChatService:
end_time = time.perf_counter()
latency_ms = int((end_time - start_time) * 1000)
logger.info(f"Normal image completion for model {model} took {latency_ms} ms. Success: {is_success}")
# Call add_request_log using the passed api_key
await add_request_log(
model_name=model,
api_key=api_key,

View File

@@ -31,7 +31,7 @@ class ConfigService:
for key, value in config_data.items():
if hasattr(settings, key):
setattr(settings, key, value)
logger.info(f"Updated setting in memory: {key}")
logger.debug(f"Updated setting in memory: {key}")
# 获取现有设置
existing_settings_raw: List[Dict[str, Any]] = await get_all_settings()

View File

@@ -88,7 +88,6 @@ class ImageCreateService:
aspect_ratio=self.aspect_ratio,
safety_filter_level="BLOCK_LOW_AND_ABOVE",
person_generation="ALLOW_ADULT",
# language="auto"
),
)