log-path.js.md 1.6 KB

文件职责

日志路径配置模块,负责确定和创建日志文件存储目录,适配不同的运行环境。

实现方式

使用 Electron APINode.js模块 确定日志目录:

  • 通过 app.getPath('userData') 获取用户数据目录
  • 使用 ES Module 兼容性工具(fileURLToPath、createRequire)
  • 自动创建日志目录(如果不存在)

实现思路

  1. 环境适配:检测是否在PKG打包环境或Electron环境
  2. 路径计算:使用Electron的userData路径作为日志根目录
  3. 目录初始化:模块加载时自动创建logs子目录
  4. 错误处理:创建目录失败时输出错误信息但不中断程序

边界

输入边界

  • Electron app对象:提供系统路径API
  • 环境变量:process.pkg、process.versions.electron

输出边界

  • LOG_DIR: 日志目录的绝对路径(字符串)
  • 副作用:创建物理目录

职责边界

  • ✅ 负责:路径计算、目录创建、环境检测
  • ❌ 不负责:日志文件写入、日志内容处理、文件清理

涉及概念

  • Electron App:Electron应用主进程对象
  • userData Path:用户数据目录(系统级应用数据存储位置)
  • ES Modules:ECMAScript模块系统
  • CommonJS Require:传统Node.js模块系统
  • createRequire:ES Module中创建require函数
  • fileURLToPath:将file: URL转换为文件路径
  • import.meta.url:当前模块的URL
  • process.pkg:pkg打包工具的标识
  • process.versions:Node.js版本信息对象
  • Recursive Directory Creation:递归创建目录
  • File System (fs):文件系统操作