# weexLogger

## 1. Getting Started

```js
// in app.js
import WeexLogger from '@alife/logger/weex';

WeexLogger.singleton({
    pid: 'your-project-id',
    uid: 'zhangsan', // Login uid, for UV report
    page: 'Lazada | Home', // Initial page name, if passed, SDK will send a PV log after Initialization completed
    imgUrl: 'https://arms-retcode.aliyuncs.com/r.png?' // 设定日志上传地址,新加坡部署可选`https://arms-retcode-sg.aliyuncs.com/r.png?`
});
```
```js
// in some biz module
import WeexLogger from '@alife/logger/weex';

const wxLogger = WeexLogger.singleton();

wxLogger.api('/search.do', true, 233, 'SUCCESS');
```

## 2. 通用API

### @static singleton() 获取单例对象

静态方法，返回一个单例对象，`props` 用法如下（只在第一次调用时生效）：

调用参数说明：`WeexLogger.singleton(props)`

| 属性 | 类型     | 描述              | 是否必须 | 默认值 |
|:-----|:---------|:------------------|:---------|:-------|
| pid  | `String` | 站点id            | 是       | -      |
| page | `String` | 初始化的page name | 否       | -      |
| uid  | `String` | 用户id            | 是       | -      |

此方法可以用于在应用入口初始化 SDK，也可以在每次调用时获取实例。

示例请参考 **Getting Started**

### 2.1 setPage() 设置当前页面的page name

设置 page name，**并且上报一次 PV 日志（默认）**

调用参数说明：`__bl.setPage(next)`

| 参数 | 类型     | 描述      | 是否必须 | 默认值 |
|:-----|:---------|:----------|:---------|:-------|
| next | `String` | page name | 是       |        |

### 2.2 setConfig()` 修改配置项

用于在 SDK 初始完成后重新修改部分配置项，具体配置同 `singleton()` 方法

调用参数说明：`__bl.setConfig(next)`

| 参数 | 类型     | 描述                   | 是否必须 | 默认值 |
|:-----|:---------|:-----------------------|:---------|:-------|
| next | `Object` | 需要修改的配置项以及值 | 是       | -      |


## 3. 日志上报API

> 请参见 [README](README.md) 的 `API接口 > 数据上报接口`
