添加日志格式颜色

This commit is contained in:
2025-12-13 23:12:47 +08:00
parent 79a5f78fea
commit 668f82bab9

View File

@@ -2,6 +2,7 @@ import logging
from logging.handlers import RotatingFileHandler from logging.handlers import RotatingFileHandler
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
import colorlog
def setup_logger(log_file=None, log_level=logging.INFO, max_bytes=10485760, backup_count=5): def setup_logger(log_file=None, log_level=logging.INFO, max_bytes=10485760, backup_count=5):
""" """
@@ -34,10 +35,12 @@ def setup_logger(log_file=None, log_level=logging.INFO, max_bytes=10485760, back
today = datetime.now().strftime('%Y-%m-%d') today = datetime.now().strftime('%Y-%m-%d')
log_file = log_dir / f'{today}.log' log_file = log_dir / f'{today}.log'
# 创建格式化器 # 创建格式
formatter = logging.Formatter( log_format = '[%(asctime)s] [%(levelname)s] [%(filename)s:%(lineno)d] - %(message)s'
'[%(asctime)s] [%(levelname)s] [%(filename)s:%(lineno)d] - %(message)s' color_format = '%(log_color)s' + log_format
)
# 有颜色的日志格式化器
color_formatter = colorlog.ColoredFormatter(color_format, reset=True)
# 创建文件处理器(带轮转) # 创建文件处理器(带轮转)
file_handler = RotatingFileHandler( file_handler = RotatingFileHandler(
@@ -47,12 +50,12 @@ def setup_logger(log_file=None, log_level=logging.INFO, max_bytes=10485760, back
encoding='utf-8' encoding='utf-8'
) )
file_handler.setLevel(log_level) file_handler.setLevel(log_level)
file_handler.setFormatter(formatter) file_handler.setFormatter(color_formatter)
# 创建控制台处理器 # 创建控制台处理器
console_handler = logging.StreamHandler() console_handler = logging.StreamHandler()
console_handler.setLevel(log_level) console_handler.setLevel(log_level)
console_handler.setFormatter(formatter) console_handler.setFormatter(color_formatter)
# 添加处理器到logger # 添加处理器到logger
logger.addHandler(file_handler) logger.addHandler(file_handler)