云日志服务Web SDK
云日志服务Web SDK提供了Web SDK上报日志的一系列方法,如果您需要收集和分析用户在网站上的信息,例如用户的浏览器、浏览行为记录、购买行为记录、终端设备记录,设备异常记录,网络使用记录等,可以直接使用Web SDK上报日志到LTS。
传输协议
HTTPS
使用前提
- 参考注册华为账号并开通华为云中操作,完成注册。
版本更新说明
版本号 |
更新说明 |
---|---|
1.0.24 |
支持更多region:华东-上海一、华南-广州。 |
1.0.21 |
|
1.0.19 |
修改时间阈值的范围从1-60改为1-1800,其默认值从30改为3。 |
1.0.18 |
|
1.0.15 |
新增多实例。 |
使用说明
NPM方式安装SDK
- 安装方法:在项目根目录下通过运行“npm i lts-web-sdk”命令,安装SDK软件包。
您可以在开源仓地址下载最新的SDK。
- 示例代码:
const LTS_WEB_SDK = require('lts-web-sdk').default; // import LTS_WEB_SDK from 'lts-web-sdk'; // 初始化 const weblog = new LTS_WEB_SDK({ // 上报region region: string, // 华为云项目ID projectId: string, // 上报地址 url: string, // LTS日志组ID groupId: string, // LTS日志流ID streamId: string, // 调试日志等级 debug: string, // 上报条数阈值 cacheThreshold: number, // 上报时间阈值 timeInterval: number, }); // 立即上报单条带标签 weblog.reportImmediately({ 'name': 'xiaoming', 'age': 18 }, { 'key': 'value' }); // 立即上报单条 不带标签 weblog.reportImmediately([{ key: 'value', number: 1, array: [], json: { json: 'json' } }, { 'key': 'value' }]); // 缓存上报多条 带标签 weblog.report([{ 'name': 'xiaohong', 'age': 18 }, { 'name': 'xiaobai', 'age': 20 }], { 'key': 'value' }); // 缓存上报多条 不带标签 weblog.report([{ 'name': 'xiaohong', 'age': 18 }, { key: 'value', number: 1, array: [], json: { json: 'json' } }]); // 缓存上报多条 带多个标签(最多50个) weblog.report([{ 'name': 'xiaohong', 'name': 'xiaolan' }], {'version': '1.0.0', 'render': 'web', 'link': '/', from: 'web'});
CDN同步方式安装SDK
- 安装方法:
<script src="https://res.hc-cdn.com/web-sdk-cdn/版本号/websdk.min.js"></script>
- 示例代码:
// 页面引入SDK <script src="https://res.hc-cdn.com/web-sdk-cdn/1.0.15/websdk.min.js"></script> // 初始化 const weblog = new LTS_WEB_SDK({ // 上报region region: string, // 华为云项目ID projectId: string, // 上报地址 url: string, // LTS日志组ID groupId: string, // LTS日志流ID streamId: string, // 调试开关,开启后可以看到输出的调试日志 debug: boolean, // 上报条数阈值 cacheThreshold: number, // 上报时间条数 timeInterval: number, }); // 立即上报单条带标签 weblog.reportImmediately({ 'name': 'xiaoming', 'age': 18 }, { 'key': 'value' }); // 立即上报单条 不带标签 weblog.reportImmediately([{ key: 'value', number: 1, array: [], json: { json: 'json' } }, { 'key': 'value' }]); // 缓存上报多条 带标签 weblog.report([{ 'name': 'xiaohong', 'age': 18 }, { 'name': 'xiaobai', 'age': 20 }], { 'key': 'value' }); // 缓存上报多条 不带标签 weblog.report([{ 'name': 'xiaohong', 'age': 18 }, { key: 'value', number: 1, array: [], json: { json: 'json' } }]); // 缓存上报多条 带多个标签(最多50个) weblog.report([{ 'name': 'xiaohong', 'name': 'xiaolan' }], {'version': '1.0.0', 'render': 'web', 'link': '/', from: 'web'});
配置参数说明
- 配置参数说明
表2 配置参数说明 字段
类型
是否必填
默认值
描述
region
string
必填
-
上报LTS所处的region。
projectId
string
必填
-
账号的项目ID,128个字符上限。
groupId
string
必填
-
LTS日志组ID,128个字符上限。
streamId
string
必填
-
LTS日志流ID,128个字符上限。
url
string
选填
-
用于上报的公网地址域名,支持带端口号,比如:https://lts-access.cn-north-4.myhuaweicloud.com:443;如未设置url,将根据region自动生成链接,格式如下:https://lts-access.{region}.myhuaweicloud.com
debug
string
选填
OFF
- 控制台调试信息的输出等级,有OFF、ERROR、WARN、INFO、DEBUG五个等级。
- 填入无效值会默认为OFF,最高等级为DEBUG,层级往下递减。
- 值为true时开启DEBUG等级的日志,值为false时日志等级为OFF。
cacheThreshold
int
选填
30
默认30条上报条数阈值,当缓存到达阈值时上报缓存中的数据 30 <= cacheThreshold <= 1000
timeInterval
number
选填
3
默认3s 上报阈值时间,当达到阈值时间上报缓存中的数据 1 <= timeInterval <= 1800
- 日志上报Report方法参数说明。
表3 Report方法参数说明 字段
类型
是否必填
默认值
描述
content
Object | Array<Object>
必填
-
需要上报的日志对象或者对象数组,限制:Object:最多300个键值对,转成JSON字符串最大支持长度1024*30个字节,超出部分将被截断。
array<Object>:数组中的每条Object数据最多300个键值对,转成JSON字符串最大支持长度1024*30个字节,超出部分将被截断。
说明:用户的日志字段名称不允许包含双下划线(__)。
labels
Object
选填
空
日志标签,最外层键值对50个以内,最外层key最大长度为64个字符,最外层key值只能由字母开头,字母、数字或下划线组成,标签转成JSON字符串最大支持长度1024*30个字符,超出限制将不上报此条信息。
说明:用户的日志字段名称不允许包含双下划线(__)。
- 日志立即上报reportImmediately方法参数说明。
表4 reportImmediately方法参数说明 字段
类型
是否必填
默认值
描述
content
Object | Array<Object>
选填
-
立即上报的日志对象或者对象数组,限制:Object:最多300个键值对,转成JSON字符串最大支持长度1024*30个字节,超出部分将被截断。
array<Object>:数组中的每条Object数据最多300个键值对,转成JSON字符串最大支持长度1024*30个字节,超出部分将被截断。不填入内容时,将立即上报缓存中的日志。
说明:用户的日志字段名称不允许包含双下划线(__)。
labels
Object
选填
空
日志标签,最外层键值对50个以内,最外层key最大长度为64个字符,最外层key值只能由字母开头,字母、数字或下划线组成,标签转成JSON字符串最大支持长度1024*30个字符,超出限制将不上报此条信息。
说明:用户的日志字段名称不允许包含双下划线(__)。