diff --git a/app/log.py b/app/log.py index 87e04aeb..085dadbb 100644 --- a/app/log.py +++ b/app/log.py @@ -1,28 +1,12 @@ import logging from logging.handlers import RotatingFileHandler +from pathlib import Path import click from app.core.config import settings -# logger -logger = logging.getLogger() -if settings.DEBUG: - logger.setLevel(logging.DEBUG) -else: - logger.setLevel(logging.INFO) - -# 创建终端输出Handler -console_handler = logging.StreamHandler() -console_handler.setLevel(logging.DEBUG) - -# 创建文件输出Handler -file_handler = RotatingFileHandler(filename=settings.LOG_PATH / 'moviepilot.log', - mode='w', - maxBytes=5 * 1024 * 1024, - backupCount=3, - encoding='utf-8') -file_handler.setLevel(logging.INFO) +# 日志级别颜色 level_name_colors = { logging.DEBUG: lambda level_name: click.style(str(level_name), fg="cyan"), logging.INFO: lambda level_name: click.style(str(level_name), fg="green"), @@ -34,20 +18,40 @@ level_name_colors = { } -# 定义日志输出格式 class CustomFormatter(logging.Formatter): + """ + 定义日志输出格式 + """ + def format(self, record): seperator = " " * (8 - len(record.levelname)) record.leveltext = level_name_colors[record.levelno](record.levelname + ":") + seperator + if record.filename == "__init__.py": + record.filename = Path(record.pathname).parent.name return super().format(record) +# DEBUG +logger = logging.getLogger() +if settings.DEBUG: + logger.setLevel(logging.DEBUG) +else: + logger.setLevel(logging.INFO) + # 终端日志 +console_handler = logging.StreamHandler() +console_handler.setLevel(logging.DEBUG) console_formatter = CustomFormatter("%(leveltext)s%(filename)s - %(message)s") console_handler.setFormatter(console_formatter) logger.addHandler(console_handler) # 文件日志 +file_handler = RotatingFileHandler(filename=settings.LOG_PATH / 'moviepilot.log', + mode='w', + maxBytes=5 * 1024 * 1024, + backupCount=3, + encoding='utf-8') +file_handler.setLevel(logging.INFO) file_formater = CustomFormatter("【%(levelname)s】%(asctime)s - %(filename)s - %(message)s") file_handler.setFormatter(file_formater) logger.addHandler(file_handler) diff --git a/app/main.py b/app/main.py index 0ede24a0..89d97c3f 100644 --- a/app/main.py +++ b/app/main.py @@ -2,7 +2,6 @@ import multiprocessing import os import sys import threading -from pathlib import Path import uvicorn as uvicorn from PIL import Image