fix plugin log
This commit is contained in:
42
app/log.py
42
app/log.py
@ -1,28 +1,12 @@
|
|||||||
import logging
|
import logging
|
||||||
from logging.handlers import RotatingFileHandler
|
from logging.handlers import RotatingFileHandler
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
from app.core.config import settings
|
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 = {
|
level_name_colors = {
|
||||||
logging.DEBUG: lambda level_name: click.style(str(level_name), fg="cyan"),
|
logging.DEBUG: lambda level_name: click.style(str(level_name), fg="cyan"),
|
||||||
logging.INFO: lambda level_name: click.style(str(level_name), fg="green"),
|
logging.INFO: lambda level_name: click.style(str(level_name), fg="green"),
|
||||||
@ -34,20 +18,40 @@ level_name_colors = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# 定义日志输出格式
|
|
||||||
class CustomFormatter(logging.Formatter):
|
class CustomFormatter(logging.Formatter):
|
||||||
|
"""
|
||||||
|
定义日志输出格式
|
||||||
|
"""
|
||||||
|
|
||||||
def format(self, record):
|
def format(self, record):
|
||||||
seperator = " " * (8 - len(record.levelname))
|
seperator = " " * (8 - len(record.levelname))
|
||||||
record.leveltext = level_name_colors[record.levelno](record.levelname + ":") + seperator
|
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)
|
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_formatter = CustomFormatter("%(leveltext)s%(filename)s - %(message)s")
|
||||||
console_handler.setFormatter(console_formatter)
|
console_handler.setFormatter(console_formatter)
|
||||||
logger.addHandler(console_handler)
|
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_formater = CustomFormatter("【%(levelname)s】%(asctime)s - %(filename)s - %(message)s")
|
||||||
file_handler.setFormatter(file_formater)
|
file_handler.setFormatter(file_formater)
|
||||||
logger.addHandler(file_handler)
|
logger.addHandler(file_handler)
|
||||||
|
@ -2,7 +2,6 @@ import multiprocessing
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import threading
|
import threading
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
import uvicorn as uvicorn
|
import uvicorn as uvicorn
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
Reference in New Issue
Block a user