mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-05-07 05:32:52 +08:00
- 新增 logger 模块,用于全局日志记录 - 在关键位置添加日志输出,包括事件处理、文件清理、FFmpeg 检查等 - 优化数据库操作,增加日志记录 - 在主程序启动时添加日志输出
33 lines
802 B
Python
33 lines
802 B
Python
import logging
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
# 日志目录
|
|
LOG_DIR = Path("logs")
|
|
LOG_DIR.mkdir(exist_ok=True)
|
|
|
|
# 日志格式
|
|
formatter = logging.Formatter(
|
|
fmt="%(asctime)s [%(levelname)s] %(name)s - %(message)s",
|
|
datefmt="%Y-%m-%d %H:%M:%S"
|
|
)
|
|
|
|
# 控制台输出
|
|
console_handler = logging.StreamHandler(sys.stdout)
|
|
console_handler.setFormatter(formatter)
|
|
|
|
# 文件输出
|
|
file_handler = logging.FileHandler(LOG_DIR / "app.log", encoding="utf-8")
|
|
file_handler.setFormatter(formatter)
|
|
|
|
# 获取日志器
|
|
|
|
def get_logger(name: str) -> logging.Logger:
|
|
logger = logging.getLogger(name)
|
|
if not logger.handlers:
|
|
logger.setLevel(logging.INFO)
|
|
logger.addHandler(console_handler)
|
|
logger.addHandler(file_handler)
|
|
logger.propagate = False
|
|
return logger
|