@djangocfg/ devtools (英语)
Django-cfg 应用程序的前端 devtools. 一个软件包, 一个事件流 :
- 捕获 —— 说
window.onerror无所顾忌的拒绝,console.warn/error, (中文(简体) ), zod 验证事件来自@djangocfg/api客户. - 无礼 - 错误/警告分批到
POST /cfg/monitor/ingest/(django -cfg's (英语)django_monitor扩展名),带有去dupe,可保持冲出 卸下,还有断路器. - 除错面板 ——浮动按钮(自发于dev,
?debug=1在prod, ⌘D)中 带有可过滤日志种子和自定义应用程序自定义标签.
替换已退休者 @djangocfg/monitor + 键 @djangocfg/debuger 双人.
使用量
// Root layout — that's the whole setup
import { Devtools } from '@djangocfg/devtools'
<Devtools project="my-app" environment={process.env.NODE_ENV} />
// Anywhere in client code
import { devtools } from '@djangocfg/devtools'
devtools.error('Payment widget crashed', { orderId }) // panel + backend
const log = devtools.log('CheckoutForm') // panel only
log.info('step changed', { step })
// Server (route handlers / RSC)
import { serverDevtools } from '@djangocfg/devtools/server'
serverDevtools.configure({ project: 'my-app', baseUrl: process.env.API_URL })
await serverDevtools.captureError(err, { url: req.url })
在浏览器控制台中 : window.devtools.status(), (中文(简体) ), window.devtools.error('test')。 。 。 .
它到达后端了吗?
Ingest 需要 API 来源 : <Devtools baseUrl>,或在 BaseApp auth.apiUrl 编号 :
apiUrl (计: auth={false}),或 NEXT_PUBLIC_API_URL 在建筑时间烤入.
没有, devtools在控制台上警告一次,并放弃事件.
devtools.status()返回时{ ingest, baseUrl, queued, sent, failed, lastError, lastSentAt, circuitOpen }。 。 。 .await devtools.ping()发送一个信息事件( i)devtools ping并决心status()。 。 。 .- 服务器 :
python manage.py monitor_tail --frontend。 。 。 .