feat(app): 添加日志记录功能

- 新增 logger 模块,用于全局日志记录
- 在关键位置添加日志输出,包括事件处理、文件清理、FFmpeg 检查等
- 优化数据库操作,增加日志记录
- 在主程序启动时添加日志输出
This commit is contained in:
Jefferyhcool
2025-04-14 19:50:44 +08:00
parent 43b88c85fa
commit 1ebf236f4f
9 changed files with 165 additions and 66 deletions

View File

@@ -1,22 +1,26 @@
import os
import subprocess
from dotenv import load_dotenv
load_dotenv()
from app.utils.logger import get_logger
logger = get_logger(__name__)
load_dotenv()
def check_ffmpeg_exists() -> bool:
"""
检查 ffmpeg 是否可用。优先使用 FFMPEG_BIN_PATH 环境变量指定的路径。
"""
ffmpeg_bin_path = os.getenv("FFMPEG_BIN_PATH")
print(f"FFMPEG_BIN_PATH: {ffmpeg_bin_path}")
logger.info(f"FFMPEG_BIN_PATH: {ffmpeg_bin_path}")
if ffmpeg_bin_path and os.path.isdir(ffmpeg_bin_path):
os.environ["PATH"] = ffmpeg_bin_path + os.pathsep + os.environ.get("PATH", "")
logger.info(f"ffmpeg 未配置路径尝试使用系统路径PATH: {os.environ.get('PATH')}")
try:
subprocess.run(["ffmpeg", "-version"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True)
logger.info("ffmpeg 已安装")
return True
except (FileNotFoundError, OSError, subprocess.CalledProcessError):
logger.info("ffmpeg 未安装")
return False
@@ -25,6 +29,7 @@ def ensure_ffmpeg_or_raise():
校验 ffmpeg 是否可用,否则抛出异常并提示安装方式。
"""
if not check_ffmpeg_exists():
logger.error("未检测到 ffmpeg请先安装后再使用本功能。")
raise EnvironmentError(
"❌ 未检测到 ffmpeg请先安装后再使用本功能。\n"
"👉 下载地址https://ffmpeg.org/download.html\n"