// ============================================================ // 日志模块 — 共享类型定义(主进程 + 渲染进程双端使用) // ============================================================ /** 日志级别 */ export type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR'; /** 日志分类 */ export type LogCategory = | 'request' // HTTP 请求相关 | 'auth' // 登录 / Token / 权限 | 'updater' // 自动更新 | 'event' // 事件总线 | 'app' // 应用生命周期 | 'ui' // UI 层错误 / 警告 | 'ipc' // IPC 通信 | 'safe-storage'; // 安全存储(safeStorage 加密/解密) /** * 结构化错误快照 * Error 对象不可 JSON 序列化,提取关键字段保存 */ export interface LogErrorSnapshot { /** 错误名称(Error.name 或 constructor name) */ name: string; /** 错误消息 */ message: string; /** 堆栈信息(可选,按需记录以节省空间) */ stack?: string; /** 原始错误链(cause)的消息摘要 */ cause?: string; } /** * 单条日志条目(JSON Lines 中的一行) */ export interface LogEntry { /** ISO 8601 时间戳(例如 "2026-06-04T10:30:00.123Z") */ timestamp: string; /** 日志级别 */ level: LogLevel; /** 日志分类 */ category: LogCategory; /** 日志消息(简短描述) */ message: string; /** 日志来源进程 */ processType: 'main' | 'renderer'; /** 附加上下文(需 JSON 可序列化) */ context?: Record; /** 错误快照(仅在 warn / error 级别时填充) */ error?: LogErrorSnapshot; }