Files
ele-HeiXiu/shared/types/logging.ts
YoungestSongMo e0d91335c7 chore: 补充遗漏提交 — 日志分类/导航配置/依赖声明/路径别名
- shared/types/logging.ts: 新增 canvas + canvas-window 日志分类
- nav-config.ts: 移除合规素材库导航项 (合规素材库页面待后续实现)
- package.json + lock: 补充 zustand 依赖声明
- tsconfig.node.json: 补充 @shared/* 路径别名 (主进程导入)
- .gitignore: 排除 infinite_canvas_140 目录

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-24 20:08:28 +08:00

56 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// ============================================================
// 日志模块 — 共享类型定义(主进程 + 渲染进程双端使用)
// ============================================================
/** 日志级别 */
export type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
/** 日志分类 */
export type LogCategory =
| 'request' // HTTP 请求相关
| 'auth' // 登录 / Token / 权限
| 'updater' // 自动更新
| 'event' // 事件总线
| 'app' // 应用生命周期
| 'ui' // UI 层错误 / 警告
| 'ipc' // IPC 通信
| 'safe-storage' // 安全存储safeStorage 加密/解密)
| 'storage' // 本地存储IndexedDB / sql.js / 文件缓存)
| 'canvas' // 无限画布 IPC 处理
| 'canvas-window'; // 画布窗口生命周期
/**
* 结构化错误快照
* 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<string, unknown>;
/** 错误快照(仅在 warn / error 级别时填充) */
error?: LogErrorSnapshot;
}