feat(file): 优化文件处理和缓存机制

- 重构文件处理逻辑,提高性能和可维护性
- 增加缓存机制,减少重复读取和处理
- 改进错误处理和日志记录
- 优化缩略图生成算法
- 添加性能监控和测试依赖
This commit is contained in:
2025-07-11 00:21:57 +08:00
parent d0f9e65ad1
commit 8c4e5885c7
15 changed files with 1034 additions and 94 deletions

59
utils/logger.py Normal file
View File

@@ -0,0 +1,59 @@
import logging
import sys
from logging.handlers import RotatingFileHandler
import os
def setup_logging(app=None, log_level=logging.INFO):
"""
设置应用程序的日志记录
"""
# 创建logs目录
if not os.path.exists('logs'):
os.makedirs('logs')
# 设置日志格式
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
# 文件处理器 - 应用日志
file_handler = RotatingFileHandler(
'logs/app.log',
maxBytes=10*1024*1024, # 10MB
backupCount=5
)
file_handler.setFormatter(formatter)
file_handler.setLevel(log_level)
# 错误日志处理器
error_handler = RotatingFileHandler(
'logs/error.log',
maxBytes=10*1024*1024, # 10MB
backupCount=5
)
error_handler.setFormatter(formatter)
error_handler.setLevel(logging.ERROR)
# 控制台处理器
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(formatter)
console_handler.setLevel(log_level)
# 配置根日志记录器
root_logger = logging.getLogger()
root_logger.setLevel(log_level)
root_logger.addHandler(file_handler)
root_logger.addHandler(error_handler)
root_logger.addHandler(console_handler)
# 如果是Flask应用也配置Flask的日志
if app:
app.logger.addHandler(file_handler)
app.logger.addHandler(error_handler)
app.logger.setLevel(log_level)
return logging.getLogger(__name__)
def get_logger(name):
"""获取指定名称的日志记录器"""
return logging.getLogger(name)