更新记录

1.0.0(2026-11-05) 下载此版本

1.0.0

  • 首个版本,第 13 批插件。
  • 分级日志 / 环形缓冲 / 脱敏 / 批量上报,全端一致

平台兼容性

PlugKit 日志套件

分级日志 / 环形缓冲 / 脱敏 / 批量上报,全端一致

纯 JS 分级日志:固定容量环形缓冲、敏感字段脱敏、采样、离线暂存、批量上报(默认关闭)、一键导出,上报端点由接入方自定义。

零第三方依赖 · 零系统权限 · 无需 uniCloud · 不联网、不采集、不上报。

5 分钟接入

  1. 把 uni_modules/pk-logger/ 拷进你的 uni-app 工程(或用 HBuilderX 从插件市场导入)。
  2. 在需要的地方引入:
import pk from '@/uni_modules/pk-logger/js_sdk/index.js'

pk.init(/* 可选配置 */)
const r = pk./* 方法 */()
  1. 完整可运行工程见 example/(导入即跑,每个公开方法都有演示按钮)。

API

方法 说明
init(options) enabled 默认 false;level / capacity / flushCount / flushInterval / endpoint / appKey / sampleRate / sensitive
debug / info / warn / error(tag, msg, extra) 四个级别写入,返回日志条目
child(tag) 生成带固定 tag 的子 logger
getBuffer() / exportText() / exportJSON() / clear() 查看与导出
flush() 批量上报(仅 enabled=true 时真正发送),返回 { sent, dropped, retried }
addBreadcrumb(msg) / wrap(fn) 面包屑 / 自动捕获异常并记 error
startTimer() / stopTimer() / destroy() 自动 flush 定时器生命周期

自定义传输 / 注入点(演示与单测可用)

pk.setSender(fn) 自定义批量上报通道;pk.setSleep(fn) 注入退避等待;pk._reset() 重置状态(演示/单测用)。

错误码

码 含义
E-LG-01 非法日志级别
E-LG-02 缓冲写入失败
E-LG-03 上报失败已重试
E-LG-04 重试耗尽丢弃
E-LG-05 本地暂存不可用已降级

竞品痛点 → 设计决策

痛点 本插件
写完日志找不到文件在哪 明确不做文件写入:内存环形缓冲 + 可选本地暂存,导出走 exportText()/exportJSON(),结果可预期
只能本地写,没有稳定上报通道 内置批量 flush + 指数退避重试 + 失败回填,上报端点由接入方自定义,可对接任意自建服务
iOS / 小程序端行为不明甚至报错 纯 JS 全端一致;本地暂存不可用时自动降级为纯内存,如实返回 degraded 状态
强绑 uniCloud / 原生插件,要自定义基座 零依赖、零原生权限,uni_modules 直接导入
日志把密码、token 一起传走了 内置敏感键脱敏(password/token/phone/idcard 等),递归深度与长度双限制
日志无限增长拖垮内存 固定容量环形缓冲,超出即覆盖最旧;单次 flush 按条数与字节双上限切分

兼容性

见 docs/compatibility.md。纯逻辑 API 已通过 node 单测;真机项按 HBuilderX 云打包验证。

目录

pk-logger/
├── README.md / CHANGELOG.md
├── uni_modules/pk-logger/    # 发布包(package.json + js_sdk/)
├── example/             # 完整可导入 HBuilderX 工程 + 演示页
├── docs/                # 在线文档 HTML / listing.md / compatibility.md
└── tests/run.test.js    # node 单测(node tests/run.test.js)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

许可协议

MIT协议

暂无用户评论。