
# 云日志服务快应用SDK
云日志服务快应用SDK提供了快应用上报日志的一系列方法，如果您需要收集和分析用户在网站上的信息，例如用户的浏览器、浏览行为记录、终端设备记录、设备异常记录、网络使用记录等，可以直接使用快应用SDK上报日志到LTS。
使用快应用SDK上报日志到LTS的场景下，需要开启日志流的匿名写入功能，开启后上报日志没有经过有效鉴权，可能产生脏数据。详细操作请参考[管理日志流](https://support.huaweicloud.com/usermanual-lts/lts_04_0004.html)。
![](https://support.huaweicloud.com/usermanual-lts/public_sys-resources/note_3.0-zh-cn.png)
快应用SDK支持跨云/本地上报日志，当前仅支持华北-北京四、华东-上海一、华南-广州的白名单用户，如有需要请[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请。
#### 传输协议
HTTPS
#### 使用前提
- 参考[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)中操作，完成注册。

- 确认云日志服务的区域，请您根据所在区域，选择RegionName。
- 获取华为云账号的项目ID（project id），步骤请参见[API凭证](https://support.huaweicloud.com/usermanual-ca/ca_01_0002.html)。
- 获取需要上报到LTS的[日志组ID](https://support.huaweicloud.com/usermanual-lts/lts_07_0055.html#lts_07_0055__zh-cn_topic_0000001817927816_zh-cn_topic_0000001672281857_li16213910519)和[日志流ID](https://support.huaweicloud.com/usermanual-lts/lts_07_0055.html#lts_07_0055__zh-cn_topic_0000001817927816_zh-cn_topic_0000001672281857_li521209751)。
 
#### 版本更新说明
表1版本更新说明 
| 版本号    | 更新说明                                                                                                                                                                                                                      |
|:---|:---|
| 1.0.24 | 支持更多region：华东-上海一、华南-广州。                                                                                                                                                                                                  |
| 1.0.23 | 新增支持快应用上报。                                                                                                                                                                                                                |
| 1.0.21 | - 废弃config方法，优先使用new SDK创建一个新的实例。  - 去除代码中对三方包的依赖和存在的中文符号。   |
| 1.0.19 | 修改时间阈值的范围从1-60改为1-1800，其默认值从30改为3。                                                                                                                                                                                        |
| 1.0.18 | - 调整日志级别等级。  - 支持labels嵌套。                                      |
| 1.0.15 | 小程序支持创建多个日志流同时上报日志到LTS。                                                                                                                                                                                                   |
   
#### 安装SDK
在快应用的根目录下通过运行"npm i lts-mini-sdk"命令，安装SDK软件包。
您可以在[开源仓地址](https://www.npmjs.com/package/lts-mini-sdk)下载最新的SDK。
#### 示例代码
```
const miniSDK = require('lts-mini-sdk/quick-app').default;
// import miniSDK from 'lts-mini-sdk/quick-app';
App({
    onLaunch(options) {
        // 初始化
        const quickAppSdk = new miniSDK({
            // 上报region
            region: string,
            // 华为云项目ID
            projectId: string,
            // 上报地址
            url: string,  
            // LTS日志组ID
            groupId: string,
            // LTS日志流ID
            streamId: string,
            // 日志所属组
            group: string,
            // 调试日志等级
            debug: string,
            // 当前小程序所属平台
            platform: string,
            // 上报条数阈值
            cacheThreshold: number,
            // 上报时间阈值
            timeInterval: number,
        });
        // 立即上报单条带标签
        quickAppSdk.reportImmediately({ 'name': 'xiaoming', 'age': 18 }, { 'key': 'value' });
        // 立即上报单条 不带标签
        quickAppSdk.reportImmediately([{   key: 'value',   number: 1,   array: [],   json: {     json: 'json'   } }, { 'key': 'value' }]);
        // 缓存上报多条 带标签
        quickAppSdk.report([{ 'name': 'xiaohong', 'age': 18 }, { 'name': 'xiaobai', 'age': 20 }], { 'key': 'value });
        // 缓存上报多条 不带标签
        quickAppSdk.report([{ 'name': 'xiaohong', 'age': 18 }, {   key: 'value',   number: 1,   array: [],   json: {     json: 'json'   } }]);
        // 缓存上报多条 带多个标签（最多50个）
        quickAppSdk.report([{ 'name': 'xiaohong', 'name': 'xiaolan' }], {'version': '1.0.0', 'render': 'mini', 'link': '/', from: 'baidu'});
    }
});
```
#### 配置参数说明
- 配置参数说明
  表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。 - 使用SDK在跨云或本地上报日志时，端口使用443。  - 使用华为云主机在华为云内网上报日志时，端口使用8102。   |
  | 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。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | platform       | string | 选填   | baidu | 支持上报的平台。目前支持以下平台：baidu：百度小程序，wx：微信小程序，dd：钉钉小程序，my：支付宝小程序，quick：快应用。                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  | group          | string | 选填   | -     | 日志组ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     
  
- 日志上报report方法参数说明
  表3report方法参数说明 
  | 字段      | 类型                        | 是否必填 | 默认值 | 描述                                                                                                                                                                                                                                                                                                                                  |
  |:---|:---|:---|:---|:---|
  | 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方法参数说明
  表4reportImmediately方法参数说明 
  | 字段      | 类型                        | 是否必填 | 默认值 | 描述                                                                                                                                                                                                                                                                                                                                                                          |
  |:---|:---|:---|:---|:---|
  | 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个字符，超出限制将不上报此条信息。 用户的日志字段名称不允许包含双下划线（__）。                                                                                                                      |
     
  
 
#### 参数获取方式
- 区域表
  表5区域表 
  | 区域名称   | 区域         |
  |:---|:---|
  | 华北-北京四 | cn-north-4 |
  | 华东-上海一 | cn-east-3  |
  | 华南-广州  | cn-south-1 |
     
  
- 日志组ID：在云日志服务控制台，选择"日志管理"，鼠标悬浮在日志组名称上，可查看日志组名称和日志组ID。
- 日志流ID：单击日志组名称对应的![](https://support.huaweicloud.com/usermanual-lts/zh-cn_image_0000001873748277.png)按钮，鼠标悬浮在日志流名称上，可查看日志流名称和日志流ID。
 
