color logging

This commit is contained in:
jxxghp 2023-08-23 18:57:10 +08:00
parent f0a680abc6
commit 80bb49776a
2 changed files with 22 additions and 7 deletions

View File

@ -1,6 +1,8 @@
import logging import logging
from logging.handlers import RotatingFileHandler from logging.handlers import RotatingFileHandler
import click
from app.core.config import settings from app.core.config import settings
# logger # logger
@ -21,19 +23,31 @@ file_handler = RotatingFileHandler(filename=settings.LOG_PATH / 'moviepilot.log'
backupCount=3, backupCount=3,
encoding='utf-8') encoding='utf-8')
file_handler.setLevel(logging.INFO) file_handler.setLevel(logging.INFO)
level_name_colors = {
logging.DEBUG: lambda level_name: click.style(str(level_name), fg="green"),
logging.INFO: lambda level_name: click.style(str(level_name), fg="blue"),
logging.WARNING: lambda level_name: click.style(str(level_name), fg="orange"),
logging.ERROR: lambda level_name: click.style(str(level_name), fg="red"),
logging.CRITICAL: lambda level_name: click.style(
str(level_name), fg="bright_red"
),
}
# 定义日志输出格式 # 定义日志输出格式
class CustomFormatter(logging.Formatter): class CustomFormatter(logging.Formatter):
def format(self, record): def format(self, record):
record.levelname = record.levelname + ':' seperator = " " * (8 - len(record.levelname))
record.leveltext = level_name_colors[record.levelno](record.levelname + ":") + seperator
return super().format(record) return super().format(record)
formatter = CustomFormatter("%(levelname)-10s%(asctime)s - %(filename)s - %(message)s") # 终端日志
console_handler.setFormatter(formatter) console_formatter = CustomFormatter("%(leveltext)s %(asctime)s - %(filename)s - %(message)s")
file_handler.setFormatter(formatter) console_handler.setFormatter(console_formatter)
# 将Handler添加到Logger
logger.addHandler(console_handler) logger.addHandler(console_handler)
# 文件日志
file_formater = CustomFormatter("%(levelname)s: %(asctime)s - %(filename)s - %(message)s")
file_handler.setFormatter(file_formater)
logger.addHandler(file_handler) logger.addHandler(file_handler)

View File

@ -48,3 +48,4 @@ watchdog~=3.0.0
tailer~=0.4.1 tailer~=0.4.1
openai~=0.27.2 openai~=0.27.2
cacheout~=0.14.1 cacheout~=0.14.1
click~=8.1.6