Initial commit

This commit is contained in:
2026-03-02 17:02:09 +08:00
commit f8a14a3e2e
16 changed files with 1845 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
"""日志配置模块"""
import os
import logging
from logging.handlers import TimedRotatingFileHandler
def setup_logging(
log_dir: str = "log",
log_file: str = "app.log",
level: int = logging.INFO,
format_string: str = '%(asctime)s - %(levelname)s - %(message)s',
when: str = "H",
interval: int = 12,
backup_count: int = 7
) -> None:
"""
配置日志系统
Args:
log_dir: 日志目录
log_file: 日志文件名
level: 日志级别
format_string: 日志格式
when: 轮转时间单位 (S:秒, M:分, H:时, D:天, W:周)
interval: 轮转间隔
backup_count: 保留的备份文件数量
"""
# 确保日志目录存在
if not os.path.exists(log_dir):
os.makedirs(log_dir)
# 配置日志处理器
handlers = [
TimedRotatingFileHandler(
os.path.join(log_dir, log_file),
when=when,
interval=interval,
backupCount=backup_count,
encoding='utf-8'
),
logging.StreamHandler()
]
# 配置日志
logging.basicConfig(
level=level,
format=format_string,
handlers=handlers
)
def get_logger(name: str) -> logging.Logger:
"""
获取日志记录器
Args:
name: 日志记录器名称,通常使用 __name__
Returns:
Logger 实例
"""
return logging.getLogger(name)