diff --git a/Makefile b/Makefile index 4262f15c..22fb64b4 100644 --- a/Makefile +++ b/Makefile @@ -9,5 +9,6 @@ stop: logs: @docker logs --tail=50 api-dev + @echo "\n\nBranch: $$(git branch --show-current)" @echo "Commit ID: $$(git rev-parse HEAD)" @echo "System: $$(uname -a)" diff --git a/server/main.py b/server/main.py index bfcc41db..d6e76bac 100644 --- a/server/main.py +++ b/server/main.py @@ -7,8 +7,10 @@ from starlette.middleware.base import BaseHTTPMiddleware from server.routers import router from server.utils.auth_middleware import is_public_path -from src.utils.logging_config import logger +from server.utils.common_utils import setup_logging +# 设置日志配置 +setup_logging() app = FastAPI() app.include_router(router, prefix="/api") diff --git a/server/utils/common_utils.py b/server/utils/common_utils.py index 5a19a855..94791e00 100644 --- a/server/utils/common_utils.py +++ b/server/utils/common_utils.py @@ -1,10 +1,38 @@ """通用工具函数""" +import logging from sqlalchemy.orm import Session from fastapi import Request from server.models.user_model import User, OperationLog +def setup_logging(): + """配置应用程序日志格式""" + # 配置日志格式 + logging.basicConfig( + level=logging.INFO, + format="%(asctime)s %(levelname)s: %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + force=True + ) + + # 确保uvicorn的日志也使用相同格式 + uvicorn_logger = logging.getLogger("uvicorn") + uvicorn_access_logger = logging.getLogger("uvicorn.access") + + # 创建格式化器 + formatter = logging.Formatter( + fmt="%(asctime)s %(levelname)s: %(message)s", + datefmt="%m-%d %H:%M:%S" + ) + + # 为所有处理器设置格式化器 + for handler in uvicorn_logger.handlers: + handler.setFormatter(formatter) + for handler in uvicorn_access_logger.handlers: + handler.setFormatter(formatter) + + def log_operation(db: Session, user_id: int, operation: str, details: str = None, request: Request = None): """记录用户操作日志""" ip_address = None