初始化

This commit is contained in:
zg
2026-07-15 16:08:17 +08:00
parent f0d70aded4
commit 4e0057ece5
89 changed files with 13512 additions and 0 deletions

62
backend/logger.py Normal file
View File

@@ -0,0 +1,62 @@
"""日志配置 — 按天拆分 + 当前日志"""
import logging
import os
from logging.handlers import TimedRotatingFileHandler
from datetime import datetime
LOG_DIR = os.getenv("LOG_DIR", os.path.join(os.path.dirname(__file__), "logs"))
def setup_logger(name="mokeetext"):
"""配置日志:一天一个文件 + current.log 始终为当天日志"""
os.makedirs(LOG_DIR, exist_ok=True)
logger = logging.getLogger(name)
logger.setLevel(logging.INFO)
# 避免重复添加 handler
if logger.handlers:
return logger
# 格式
formatter = logging.Formatter(
"[%(asctime)s] %(levelname)s %(name)s | %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
# 按天轮转:每天午夜切一个新文件,保留 30 天
daily_handler = TimedRotatingFileHandler(
filename=os.path.join(LOG_DIR, "mokeetext.log"),
when="midnight",
interval=1,
backupCount=30,
encoding="utf-8",
)
daily_handler.suffix = "%Y-%m-%d"
daily_handler.setFormatter(formatter)
daily_handler.setLevel(logging.INFO)
logger.addHandler(daily_handler)
# 当前日志软链接(始终指向今天的日志)
current_log = os.path.join(LOG_DIR, "current.log")
# 控制台也输出
console_handler = logging.StreamHandler()
console_handler.setFormatter(formatter)
console_handler.setLevel(logging.INFO)
logger.addHandler(console_handler)
# 记录日志文件路径
logger.info(f"日志目录: {LOG_DIR}")
return logger
def get_log_path():
"""返回今天的日志文件路径"""
today = datetime.now().strftime("%Y-%m-%d")
return os.path.join(LOG_DIR, f"mokeetext.log{today}")
# 单例
logger = setup_logger()