/** * 跨包共享诊断日志工具。 * * 以 oh-my-opencode-cohub 版为基(功能超集),将平台差异参数化: * - 日志目录(opencode vs dsh vs 其它) * - 文件前缀 / tag * - 是否按天轮转 + 保留天数 * - 同步 / 异步写入 * * 纯 node:fs / node:path 实现,零平台 API 依赖。 */ export interface LogConfig { /** 日志目录(必填) */ logDir: string; /** 日志文件前缀(必填,如 "oh-my-opencode-cohub" 或 "dsh-cohub") */ prefix: string; /** * 标签前缀,写入行内 `[prefix]` 段(默认同 prefix)。 * 用于日志行内标识,与文件名前缀可不同。 */ linePrefix?: string; /** 按天轮转:文件名后缀 YYYYMMDD(默认 true) */ dailyRotate?: boolean; /** 旧日志保留天数(默认 7;dailyRotate=false 时忽略) */ keepDays?: number; /** true = 异步 fs.promises.appendFile,false = 同步 fs.appendFileSync(默认 true) */ async?: boolean; } export interface LogFn { /** * @param tag 标签(如 hook 名称、函数名) * @param message 描述信息 * @param err 可选,错误对象,存在时自动追加 err.stack */ (tag: string, message: string, err?: unknown): void | Promise; } export declare function createLogger(cfg: LogConfig): LogFn; //# sourceMappingURL=log.d.ts.map