From 08bc4f14bb12e55807055058966c393585671137 Mon Sep 17 00:00:00 2001 From: 18610128193 <10574456+chenweiqiang-123@user.noreply.gitee.com> Date: Fri, 3 Jul 2026 10:10:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../services/material_consumption_queue.py | 36 ++----------------- .../app/tasks/material_consumption_task.py | 33 ++--------------- video-gen-api/app/utils/logger.py | 4 ++- 3 files changed, 8 insertions(+), 65 deletions(-) diff --git a/video-gen-api/app/services/material_consumption_queue.py b/video-gen-api/app/services/material_consumption_queue.py index 1028d7ad..01c6d9f7 100644 --- a/video-gen-api/app/services/material_consumption_queue.py +++ b/video-gen-api/app/services/material_consumption_queue.py @@ -1,6 +1,6 @@ import asyncio -import logging from datetime import datetime, timezone, timedelta +import json from sqlalchemy import select, delete from sqlalchemy.ext.asyncio import AsyncSession @@ -12,39 +12,9 @@ from app.models.user_oauth_account import UserOAuthAccount from app.models.resources_material import ResourcesMaterial from app.utils.id_gen import generate_id from app.utils.douyinApi import DouyinApi +from app.utils.logger import get_logger -import os -import json - -LOG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "logs") -os.makedirs(LOG_DIR, exist_ok=True) - -logger = logging.getLogger("material_consumption_task") -logger.setLevel(logging.INFO) - - -class DailyRotatingFileHandler(logging.FileHandler): - def __init__(self, directory, encoding=None): - self.directory = directory - filename = self._get_log_filename() - super().__init__(filename, encoding=encoding) - - def _get_log_filename(self): - return os.path.join(self.directory, f"material_consumption-{datetime.now(timezone.utc).strftime('%Y-%m-%d')}.log") - - def emit(self, record): - current_filename = self._get_log_filename() - if self.baseFilename != current_filename: - self.close() - self.baseFilename = current_filename - self.stream = self._open() - super().emit(record) - - -if not logger.handlers: - handler = DailyRotatingFileHandler(LOG_DIR, encoding="utf-8") - handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s", "%Y-%m-%d %H:%M:%S")) - logger.addHandler(handler) +logger = get_logger("material_consumption_task", "material_consumption") douyin_api = DouyinApi() diff --git a/video-gen-api/app/tasks/material_consumption_task.py b/video-gen-api/app/tasks/material_consumption_task.py index 28dd1580..ff75e754 100644 --- a/video-gen-api/app/tasks/material_consumption_task.py +++ b/video-gen-api/app/tasks/material_consumption_task.py @@ -1,39 +1,10 @@ from datetime import datetime, timedelta, timezone import asyncio -import os -import logging from app.services.material_consumption_queue import sync_all_advertisers_consumption +from app.utils.logger import get_logger -LOG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "logs") -os.makedirs(LOG_DIR, exist_ok=True) - -logger = logging.getLogger("material_consumption_task") -logger.setLevel(logging.INFO) - - -class DailyRotatingFileHandler(logging.FileHandler): - def __init__(self, directory, encoding=None): - self.directory = directory - filename = self._get_log_filename() - super().__init__(filename, encoding=encoding) - - def _get_log_filename(self): - return os.path.join(self.directory, f"material_consumption_task-{datetime.now(timezone.utc).strftime('%Y-%m-%d')}.log") - - def emit(self, record): - current_filename = self._get_log_filename() - if self.baseFilename != current_filename: - self.close() - self.baseFilename = current_filename - self.stream = self._open() - super().emit(record) - - -if not logger.handlers: - handler = DailyRotatingFileHandler(LOG_DIR, encoding="utf-8") - handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s", "%Y-%m-%d %H:%M:%S")) - logger.addHandler(handler) +logger = get_logger("material_consumption_task", "material_consumption_task") async def schedule_daily_sync(): diff --git a/video-gen-api/app/utils/logger.py b/video-gen-api/app/utils/logger.py index 27ae41b5..e54251a6 100644 --- a/video-gen-api/app/utils/logger.py +++ b/video-gen-api/app/utils/logger.py @@ -20,7 +20,9 @@ def get_logger(name: str, log_filename: str) -> logging.Logger: if logger.handlers: return logger - LOG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "logs") + LOG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "log") + if name: + LOG_DIR = os.path.join(LOG_DIR, name) os.makedirs(LOG_DIR, exist_ok=True) class DailyRotatingFileHandler(logging.FileHandler):