@zxhy-npm/send-sls-logger
v2.0.1
Published
阿里云sls的logger发送
Readme
PC 使用方式
import SLSLog from '@zxhy-npm/send-sls-logger';
const slsLog = SLSLog({});
slsLog.init({
defaultData: logDefaultData, // 默认带的数据
defaultExclude: ["模拟器", "ResizeObserver"], // 需要排除的数据
options: {
host: host, // 所在地域的服务入口。例如cn-hangzhou.log.aliyuncs.com
project: project, // Project名称。
logstore: logstore, // Logstore名称。
},
});
slsLog.error({ msg: "这是一条错误日志" });
slsLog.warn({ msg: "这是一条警告日志" });
slsLog.log({ msg: "这是一条默认日志" });
slsLog.info({ msg: "这是一条默认日志" });小程序 使用方式
import MiniLog from "@zxhy-npm/send-sls-logger/lib/mini";
const miniLog = MiniLog({});
miniLog.init({
defaultData: logDefaultData, // 默认带的数据
defaultExclude: ["模拟器", "ResizeObserver"], // 需要排除的数据
options: {
host: host, // 所在地域的服务入口。例如cn-hangzhou.log.aliyuncs.com
project: project, // Project名称。
logstore: logstore, // Logstore名称。
},
});
miniLog.error({ msg: "这是一条错误日志" });
miniLog.warn({ msg: "这是一条警告日志" });
miniLog.log({ msg: "这是一条默认日志" });
miniLog.info({ msg: "这是一条默认日志" });Taro / uniapp 跨端使用方式
包提供两个入口,核心代码已跨端安全(在小程序 / App 等无 DOM 环境被 import 不会再崩):
| 入口 | 底层 SDK | 适用端 |
| ---- | -------- | ------ |
| @zxhy-npm/send-sls-logger | @aliyun-sls/web-track-browser | H5 / 浏览器 |
| @zxhy-npm/send-sls-logger/lib/mini | @aliyun-sls/web-track-mini(自动探测 wx/dd/my/tt/qq/swan) | 微信 / 支付宝 / 字节 / 钉钉 / QQ / 百度 小程序 |
底层 SDK 自 2.0.0 起为 peerDependencies(可选),请在宿主项目按需安装、版本由你决定(避免重复打包):
npm i @aliyun-sls/web-track-browser # 用 web/H5 入口时 npm i @aliyun-sls/web-track-mini # 用小程序入口时
uniapp 用条件编译按端选入口:
// #ifdef H5
import SLSLog from "@zxhy-npm/send-sls-logger";
// #endif
// #ifndef H5
import SLSLog from "@zxhy-npm/send-sls-logger/lib/mini";
// #endif
const slsLog = SLSLog({ options: { host, project, logstore } });
slsLog.error({ msg: "错误日志" });Taro 同理,按 process.env.TARO_ENV 选择 import(H5 用浏览器入口,其余小程序端用 /lib/mini)。
跨端说明:非浏览器端
pagePath/pageName自动用getCurrentPages()兜底,deviceInfo用getSystemInfoSync()兜底,referUrl/devision仅 web 端有值;任何端都不会因缺少navigator/document/location而抛错。
更新备注
0.0.6 ---------- 2022-11-23 16:59:00
更新内容: 增加 ts 解析器
0.0.41 ---------- 2023-02-10 14:51:18
更新内容: 增加使用说明
1.1.0 ---------- 12/15/2024, 3:05:43 PM
更新内容: 增加了 initTrace 的方法, 只支持PC项目,监听 dom的进入试图,以及点击事件,需要在dom增加 data-module、data-click 对应的属性
1.1.2 ---------- 12/16/2024, 3:45:22 PM
更新内容: 会自动删除 预发送数据 中的 undefined 与 null
1.1.4 ---------- 1/10/2025, 11:35:16 AM
更新内容: trace 导出deviceInfo 以及 referUrl
1.1.5 ---------- 1/10/2025, 11:40:55 AM
更新内容: sls 打日志的时候,将deviceInfo、referUrl、pagePath, pageName直接带进去,不需要使用者增加
1.1.14 ---------- 3/21/2025, 5:50:32 PM
更新内容: 增加了 formatResultToBehavior 字段
2.0.0 ---------- 6/5/2026
更新内容: 跨端安全改造,兼容 web / taro / uniapp。新增 env.ts 安全运行时层,所有 navigator/document/location 访问改为 typeof 守卫 + 优雅降级;trace.ts 不再在模块加载时访问浏览器全局(小程序/App 端 import 不再崩溃),并保留旧导出名向后兼容;小程序端用 getCurrentPages/getSystemInfoSync 兜底页面与设备信息。底层 @aliyun-sls/web-track-browser、@aliyun-sls/web-track-mini 改为 peerDependencies(可选),由宿主项目决定版本、避免重复打包。入口与 API 完全向后兼容,使用方式与 1.x 一致。
