feat: 统一日志系统——结构化滚动文件 + api.log 插件通道 + 73 个 IPC 通道追踪 + pi 事件/渲染层错误归档

This commit is contained in:
Rick Ye
2026-09-11 02:12:40 +08:00
parent 2ad1743e10
commit 8e4b5496e8
9 changed files with 332 additions and 98 deletions
@@ -0,0 +1,15 @@
/**
* 渲染层全局错误采集:window.onerror / unhandledrejection / 未处理的 React 边界外错误
* 统一走 console.error,由宿主 console-message 桥归档进日志文件(main/index.ts)。
* Agent 自诊断依赖:任何渲染层异常都必须能在 userData/logs/ 里看到。
*/
window.addEventListener('error', (e) => {
// 资源加载失败(img/script)没有 error 对象,也一并记录
const detail = e.error instanceof Error ? `${e.error.stack ?? e.error.message}` : `${e.message} @ ${e.filename}:${e.lineno}:${e.colno}`
console.error(`[window.onerror] ${detail}`)
})
window.addEventListener('unhandledrejection', (e) => {
const reason = e.reason instanceof Error ? (e.reason.stack ?? e.reason.message) : String(e.reason)
console.error(`[unhandledrejection] ${reason}`)
})
+1
View File
@@ -2,6 +2,7 @@ import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import './styles/globals.css'
import './lib/error-report'
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
<React.StrictMode>