1.0.4 • Published 5 months ago

@xnng/arms v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Arms

前端应用监控 SDK,用于收集和上报应用日志和错误信息。支持小程序和 H5 平台。

安装

npm install @xnng/arms

依赖

本 SDK 依赖以下库,请确保它们已安装:

npm install axios dayjs

使用方法

创建监控实例

import { createArms, PlatformType } from '@xnng/arms';

// 创建小程序实例
const weappArms = createArms({
  slsUrl: 'https://your-log-service-url',
  appId: 'your-app-id',
  appVersion: '1.0.0',
  autoCapture: true
}, PlatformType.WEAPP);

// 创建 H5 实例
const h5Arms = createArms({
  slsUrl: 'https://your-log-service-url',
  appId: 'your-app-id',
  appVersion: '1.0.0',
  autoCapture: true
}, PlatformType.H5);

上报错误

// 优先上报错误堆栈
arms.error(error.stack);

// 上报错误对象
arms.error(new Error('错误对象'));

// 上报错误信息和描述
arms.error('错误信息', '错误描述');

设置用户信息

用户信息可用于业务标记,方便日志分析和筛选,预留了 6 个字段,索引范围 1-6,可根据业务实际情况使用

// 设置用户信息,索引范围 1-6
arms.setUserKey(1, 'uid');
arms.setUserKey(2, 'phone');
arms.setUserKey(3, 'token');
arms.setUserKey(4, 'tenantId');

配置项

通用配置

参数类型必填默认值说明
slsUrlstring-日志上传地址
appIdstring-应用ID
appVersionstring-应用版本
maxUploadNumnumber10单次最大上传数量
initDelaynumber2000初始化延迟时间(毫秒)
emptyQueueWaitTimenumber1000无任务等待时间(毫秒)
uploadWaitTimenumber1000上传后等待时间(毫秒)
errorWaitTimenumber3000错误后等待时间(毫秒)
autoCapturebooleanfalse是否自动捕获未处理的错误

依赖说明

  • 小程序平台:依赖 UniApp API
  • H5 平台:依赖 axios 进行网络请求

API

error(msg, desc)

上报错误信息。

参数类型必填说明
msgstringErrorobject错误信息、错误对象或自定义对象
descstring错误描述,提供更多上下文信息
// 优先上报错误堆栈
arms.error(error.stack);

setUserKey(index, value)

设置用户自定义键值,用于业务标记,预留了 6 个字段,可根据实际情况设置

参数类型必填说明
indexnumber键索引,范围 1-6
valuestring键值
// 设置用户标记
arms.setUserKey(1, 'uid');
arms.setUserKey(2, 'phone');
arms.setUserKey(3, 'token');

上报数据字段说明

SDK 上报的数据包含以下字段:

通用字段

字段名类型说明
logidstring日志唯一ID
versionstring应用版本号
appidstring应用ID
logtimestring日志时间,格式:YYYY-MM-DD HH:mm:ss.SSS
msgstring错误消息
descstring错误描述
typestring日志类型,如 'error'
device_idstring设备唯一标识
user_key_1string用户自定义键1
user_key_2string用户自定义键2
user_key_3string用户自定义键3
user_key_4string用户自定义键4
user_key_5string用户自定义键5
user_key_6string用户自定义键6

小程序平台特有字段

字段名类型说明
weapp_account_appidstring小程序账号ID
weapp_account_versionstring小程序版本
weapp_account_envstring小程序环境
device_brandstring设备品牌
device_modelstring设备型号
device_systemstring设备系统
device_platformstring设备平台
device_cpu_typestringCPU类型
device_memory_sizestring内存大小
weapp_base_sdk_versionstring基础库版本
weapp_base_languagestring语言设置
weapp_base_versionstring基础库版本
weapp_base_font_size_scale_factorstring字体大小缩放比例
weapp_base_font_size_settingstring字体大小设置
weapp_enter_scenestring小程序进入场景值
weapp_enter_pathstring小程序进入路径
weapp_enter_querystring小程序进入查询参数
weapp_enter_refer_infostring小程序进入来源信息
weapp_statestring小程序状态,foreground 或 background

H5 平台特有字段

字段名类型说明
browser_namestring浏览器名称
browser_versionstring浏览器版本
os_namestring操作系统
os_versionstring操作系统版本
screen_widthstring屏幕宽度
screen_heightstring屏幕高度
page_urlstring页面URL
page_titlestring页面标题
page_referrerstring页面来源
network_typestring网络类型

开发

# 安装依赖
pnpm install

# 开发模式
pnpm dev

# 构建
pnpm build

许可证

MIT

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago