@davstack/logs-server

中文文档
2.10.0发布于 2026/06/06MITTypeScriptES Module近 30 天下载 1.4万

局部哨兵形遥测槽(logs + track):在HTTP上吞入信封,坚持每发雷波SQLite. 用 sqlite3 读取到日志表( kkins 区分日志对相间; 平坦的原子列) .

中文使用文档
文档目录5 节
  1. 为什么
  2. 安装设置(1分) (S)
  3. 用法示例
  4. 司马
  5. 文档

@davstack/logs-服务器

局部哨兵形状的app - > sqlite 遥测槽(logs) 财务报告和审定财务报表 追踪.

为什么

  • E2E可追溯性. 前端+后端+工人 POST 到相同的 .davstack/logs/default.db· ; trace_id 跟踪各种服务的要求。 日志、跟踪跨度和错误事件位于一个表格中,受到歧视 kind 栏('log' | 'span' | 'event') (中文(简体) ).
  • 下正显. 将自动设备和低功耗设置纳入现有的哨兵记录器客户端。 设定 tracesSampleRate 并跨入与原木相同的水槽——没有额外的接线.
  • 为特工优化. 默认情况下压缩一行一行——编码代理读取时没有分组通行证.

安装设置(1分) (S)

  1. 建议:脚手架 达夫斯达克 init
pnpx @davstack/init

(cd) 您的项目 repo 优先 - 日志服务器范围为代码库)

  1. 在 Dev 中设置本地水槽, 将您现有的 Sentry DSN 指向守护进程 :
Sentry.init({dsn: IS_DEV ? "http://[email protected]:5181/1" : import.meta.env.VITE_SENTRY_DSN })

(在使用前请参看完整的设置指南 : 设置( m)(中文(简体) )

用法示例

  1. 启动服务器
davstack start

(更多信息: 达夫斯塔克图伊(中文(简体) )

  1. 在app中添加日志,或者使用自定义.
logger.debug("user clicked save", { user_id: 42, run_id: "r-99" })

(更多信息: 撰写-logs.md(中文(简体) )

  1. 用 -- db( 可选的) 运行重播, 将本会话的日志覆盖到自己的 DB
vitest-server run --db=reorder-bug src/reorder.test.ts   # → .davstack/logs/reorder-bug.db (default: default.db)

注释 :

  • 建议Davstack跑道员(虚拟服务器),但经常 pnpm dev 仍然抓取日志
  • --db 建议使用,但如果不使用,则在 default.db。 。 。 .

(更多信息: 发报机 -- -- 微波(中文(简体) )

  1. 查询日志 sqlite3。 。 。 .
sqlite3 -header -column .davstack/logs/default.db "
  SELECT ts, msg, attrs->>'user_id' AS user_id
  FROM logs
  WHERE data->>'body' LIKE '%clicked save%'
  ORDER BY ts;
"

结果 :

ts          msg                user_id
----------  -----------------  -------
1716480923  user clicked save  42
  1. 查询追踪跨度 - kind='span' 排有真实的 duration_ms 因此,最慢的跨度排序为平面 SQL. op编号 :status编号 :parent_span_id 被平整为 attrs。 。 。 .
sqlite3 -header -column .davstack/logs/default.db "
  SELECT msg, duration_ms,
         attrs->>'op'     AS op,
         attrs->>'status' AS status
  FROM logs
  WHERE kind = 'span'
  ORDER BY duration_ms DESC
  LIMIT 10;
"

(记录和跨度共享 trace_id 列,所以一个 WHERE trace_id = ? 将全部请求时限切开。 )

  1. 查询出错事件 - kind='event' 行是真正的例外(Sentry.captureException,未处理错误,反应错误边界)。 整个堆栈在 data· ; exception_type编号 :mechanism 被平整为 attrs。 。 。 .
sqlite3 -header -column .davstack/logs/default.db "
  SELECT ts, msg,
         attrs->>'exception_type' AS type,
         attrs->>'function'       AS fn,
         attrs->>'filename'       AS file
  FROM logs
  WHERE kind = 'event'
  ORDER BY ts DESC
  LIMIT 10;
"

司马

一个 logs 表格/会话 DB。 密钥列 :

栏日志间距( r)kind='span'(中文(简体) )活动(kind='event'(中文(简体) )
kind'log''span''event'
ts日志 timestamp间距 start_timestamp事件 timestamp
duration_msNULL(timestamp - start_timestamp) * 1000NULL
msg日志 body间距 description || op (根:tx名称)"{type}: {value}" (预算外) message
levelOTel 级别''事件 level (错误/致命/警告/信息)
data逐字记录项目逐字记录/ 交易跟踪对象逐字记录活动 exception编号 :stacktrace(中文(简体) )
attrs平面( 未包装)平面跨度数据+ op编号 :status编号 :parent_span_id编号 :description编号 :duration_msexception_type编号 :mechanism编号 :handled + 顶端 in_app 边框

交易事件会扩展为每行一行: root( 从 contexts.trace+每架1辆 spans[] 孩子们 错误/消息事件( E)Sentry.captureException, (中文(简体) ), captureMessage,未处理错误,反应错误边界)成为一个 kind='event' 排行——完整堆栈在 data,以及 trace_id 将其与同一请求的日志/相干.

文档

版本与发布记录

@davstack/logs-server 共发布 22 个版本,首次发布于 2026/05/26;过去 12 个月发布了 22 个版本。

版本发布日期距今
2.10.0latest2026/06/065 个月前
2.9.12026/06/045 个月前
2.9.02026/06/045 个月前
2.8.02026/06/045 个月前
2.7.22026/06/025 个月前
2.7.12026/06/025 个月前

关于 @davstack/logs-server 的常见问题

@davstack/logs-server 是什么?

局部哨兵形遥测槽(logs + track):在HTTP上吞入信封,坚持每发雷波SQLite. 用 sqlite3 读取到日志表( kkins 区分日志对相间; 平坦的原子列) .

如何安装 @davstack/logs-server?

在项目目录运行 npm install @davstack/logs-server,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 logs-server,可以用 npx logs-server 直接运行。

@davstack/logs-server 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@davstack/logs-server 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@davstack/logs-server 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@davstack/logs-server 可以商用吗?

@davstack/logs-server 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@davstack/logs-server 的下载量有多少?

根据 npm 官方下载统计,@davstack/logs-server 在 2026/10/12 – 2026/11/10 这 30 天内被下载 13,503 次,日均约 450 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@davstack/logs-server 还在维护吗?

最新版本 2.10.0 发布于 2026/06/06(5 个月前);至今共发布 22 个版本,其中过去 12 个月发布了 22 个;首次发布于 2026/05/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。