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
@@ -1,3 +1,6 @@
import { getLogger } from '../logger'
const log = getLogger('browser')
import { app, BrowserWindow, session as electronSession, WebContentsView, type Rectangle, type Session } from 'electron'
import { existsSync, readFileSync, writeFileSync } from 'node:fs'
import { join } from 'node:path'
@@ -331,7 +334,7 @@ export class BrowserController {
try {
writeFileSync(this.settingsFile, JSON.stringify(this.settings, null, 2), 'utf8')
} catch (err) {
console.error('[browser] save settings failed:', err)
log.error('save settings failed:', { err: err })
}
}
@@ -406,7 +409,7 @@ export class BrowserController {
try {
fn(state)
} catch (err) {
console.error('[browser] state listener error:', err)
log.error('state listener error:', { err: err })
}
}
}
@@ -539,7 +542,7 @@ export class BrowserController {
try {
view.webContents.debugger.attach('1.3')
} catch (err) {
console.warn('[browser] CDP attach 失败:', err)
log.warn('CDP attach 失败:', { err: err })
}
this.tabs.set(tabId, tab)
if (!this.activeTabId) this.activeTabId = tabId
@@ -635,7 +638,7 @@ export class BrowserController {
tab.view.setVisible(false)
}
} catch (err) {
console.error('[browser] apply layout failed:', err)
log.error('apply layout failed:', { err: err })
}
}
@@ -689,7 +692,7 @@ export class BrowserController {
const debuggerClient = tab.view.webContents.debugger
if (debuggerClient.isAttached()) debuggerClient.detach()
debuggerClient.attach('1.3')
console.warn(`[browser] ${method} 超时,已重连调试通道`)
log.warn(`CDP ${method} timeout, reattached`)
} catch {
// 页面已关闭
}