# 日志服务平台
版本 |  创建时间   | 作者 |  备注信息
---|---|---|---
v1.0|2022-01-20|zxfei| 接口文档

## 数据类型
类型名称|类型描述|参考样例
---|---|---
String |字符串|A、a、ab
Integer|数字类型|1、12、-1
Long|长整型数字|1、12、-1
date|时间类型,单位纳秒数字|167988745573
BigDecimal|小数类型|545.256
object|对象类型|{"name":"zhang3"}
arrays|数组类型|[{"name":"zhang3"},{"name":"zhang2"}]


## 日志交互方式

**消息系统** 默认采用RabbitMq作为消息中间件，向指定队列提交日志消息体。

**HTTP REST** 对外提供http接口提交rest消息体。

## 平台用户操作日志业务

### 查询平台用户操作日志业务列表

**请求URL:** operate/log/list

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 查询平台用户操作日志业务

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数，值为-1，查询所有记录

**请求样例:**
```
  {
        "page":1,
        "size":10
  }

```
**响应参数:**

参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|主键ID
&emsp;&emsp;platformMark|String|平台标识
&emsp;&emsp;userId|Long|用户id
&emsp;&emsp;userName|String|用户名称
&emsp;&emsp;loginName|String|用户登录名
&emsp;&emsp;requestUrl|String|请求地址
&emsp;&emsp;content|String|操作内容，记录操作具体信息，如修改前修改或的数据
&emsp;&emsp;ip|String|操作IP地址
&emsp;&emsp;logDate|Date|操作时间
&emsp;&emsp;operType|Integer|操作类型，0：新增，1：修改，2：删除
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
dict|object|字典对象

**响应消息样例:**
```
{
    "code":1,
    "data":{
    }
}
```

### 查看平台用户操作日志业务

**请求URL:** operate/log/info

**请求方式:** GET

**内容类型:** application/json;charset=utf-8

**简要描述:** 查看平台用户操作日志业务，返回实例详细信息

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID

**请求样例:**
```
    http://localhost/operate/log/info?id=549
```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|主键ID
&emsp;platformMark|String|平台标识
&emsp;userId|Long|用户id
&emsp;userName|String|用户名称
&emsp;loginName|String|用户登录名
&emsp;requestUrl|String|请求地址
&emsp;content|String|操作内容，记录操作具体信息，如修改前修改或的数据
&emsp;ip|String|操作IP地址
&emsp;logDate|Date|操作时间
&emsp;operType|Integer|操作类型，0：新增，1：修改，2：删除
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
dict|object|字典对象

**响应消息样例:**
```
{
    "code": 1,
    "data": {
            "id":7025,
            "platformMark":"lfxhqu",
            "userId":3376,
            "userName":"jt6u6e",
            "loginName":"d3f0jt",
            "requestUrl":"e6iazl",
            "content":"rodscn",
            "ip":"099s7n",
            "logDate":"2022-08-25",
            "operType":3202,
            "createUserId":1212,
            "createTime":"2022-08-25"
        }
}
```

### 保存平台用户操作日志业务

**请求URL:** operate/log/save

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**请求方式二:** RabbitMQ

**队列名称:** OPERATION_LOG_QUEUE

**简要描述:** 保存平台用户操作日志业务

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:-------
platformMark|String|否|平台标识
userId|Long|否|用户id
userName|String|否|用户名称
loginName|String|否|用户登录名
requestUrl|String|否|请求地址
content|String|否|操作内容，记录操作具体信息，如修改前修改或的数据
ip|String|否|操作IP地址
logDate|Date|否|操作时间
operType|Integer|否|操作类型，0：新增，1：修改，2：删除

**请求样例:**
```
{
    "platformMark":"log-platform",
    "userId":1,
    "userName":"张三",
    "loginName":"zhang3",
    "requestUrl":"/xxx",
    "content":"短信记录 新增",
    "ip":"192.168.0.95",
    "logDate":"2022-08-25",
    "operType":0,
}

```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|主键ID
&emsp;&emsp;platformMark|String|平台标识
&emsp;&emsp;userId|Long|用户id
&emsp;&emsp;userName|String|用户名称
&emsp;&emsp;loginName|String|用户登录名
&emsp;&emsp;requestUrl|String|请求地址
&emsp;&emsp;content|String|操作内容，记录操作具体信息，如修改前修改或的数据
&emsp;&emsp;ip|String|操作IP地址
&emsp;&emsp;logDate|Date|操作时间
&emsp;&emsp;operType|Integer|操作类型，0：新增，1：修改，2：删除
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间

**响应消息样例:**
```
{
    "msg":"新增模块成功",
    "code":1,
    "data":{}
    }
}

```

## 访问日志

### 查询访问日志列表

**请求URL:** access/log/list

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 查询访问日志

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数，值为-1，查询所有记录

**请求样例:**
```
  {
        "page":1,
        "size":10
  }

```
**响应参数:**

参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|主键ID
&emsp;&emsp;traceID|String|TraceId
&emsp;&emsp;pspanId|Integer|父服务调用id
&emsp;&emsp;spanId|Integer|当前服务跨度Id
&emsp;&emsp;appName|String|应用名称
&emsp;&emsp;hostName|String|实例IP
&emsp;&emsp;targetServer|String|目标服务
&emsp;&emsp;logLevel|String|日志等级
&emsp;&emsp;requestIp|String|请求者IP
&emsp;&emsp;method|String|请求方式
&emsp;&emsp;ua|String|用户浏览器UA
&emsp;&emsp;uri|String|请求URI
&emsp;&emsp;requestData|String|请求参数，json序列化
&emsp;&emsp;responseData|String|响应结果,
&emsp;&emsp;logTime|Date|日志产生时间
&emsp;&emsp;requestTime|Date|请求时间
&emsp;&emsp;responseTime|Date|响应时间
&emsp;&emsp;duration|Long|持续时间，单位毫秒
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;schemaData|String|协议
dict|object|字典对象

**响应消息样例:**
```
{
    "code":1,
    "data":{
    }
}
```

### 查看访问日志

**请求URL:** access/log/info

**请求方式:** GET

**内容类型:** application/json;charset=utf-8

**简要描述:** 查看访问日志，返回实例详细信息

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID

**请求样例:**
```
    http://localhost/access/log/info?id=549
```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|主键ID
&emsp;traceID|String|TraceId
&emsp;pspanId|Integer|父服务调用id
&emsp;spanId|Integer|当前服务跨度Id
&emsp;appName|String|应用名称
&emsp;hostName|String|实例IP
&emsp;targetServer|String|目标服务
&emsp;logLevel|String|日志等级
&emsp;requestIp|String|请求者IP
&emsp;method|String|请求方式
&emsp;ua|String|用户浏览器UA
&emsp;uri|String|请求URI
&emsp;requestData|String|请求参数，json序列化
&emsp;responseData|String|响应结果,
&emsp;logTime|Date|日志产生时间
&emsp;requestTime|Date|请求时间
&emsp;responseTime|Date|响应时间
&emsp;duration|Long|持续时间，单位毫秒
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
&emsp;schemaData|String|协议
dict|object|字典对象

**响应消息样例:**
```
{
    "code": 1,
    "data": {
            "id":877,
            "traceID":"nfxiws",
            "pspanId":4158,
            "spanId":6097,
            "appName":"lvzvak",
            "hostName":"eyhvfs",
            "targetServer":"ci0z4o",
            "logLevel":"njncwd",
            "requestIp":"6fn46g",
            "method":"3dgoa3",
            "ua":"xej4dj",
            "uri":"pobins",
            "requestData":"5ig9w1",
            "responseData":"167sr5",
            "logTime":"2022-08-25",
            "requestTime":"2022-08-25",
            "responseTime":"2022-08-25",
            "duration":4092,
            "createUserId":3160,
            "createTime":"2022-08-25",
            "schemaData":"usfbm0"
        }
}
```

### 保存访问日志

**请求URL:** access/log/save

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**请求方式二:** RabbitMQ

**队列名称:** ACCESS_LOG_QUEUE

**简要描述:** 保存访问日志

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:-------
traceID|String|否|TraceId
pspanId|Integer|否|父服务调用id
spanId|Integer|否|当前服务跨度Id
appName|String|否|应用名称
hostName|String|否|实例IP
targetServer|String|否|目标服务
logLevel|String|否|日志等级
requestIp|String|否|请求者IP
method|String|否|请求方式
ua|String|否|用户浏览器UA
uri|String|否|请求URI
requestData|String|否|请求参数，json序列化
responseData|String|否|响应结果,
logTime|Date|是|日志产生时间
requestTime|Date|否|请求时间
responseTime|Date|否|响应时间
duration|Long|否|持续时间，单位毫秒
schemaData|String|否|协议

**请求样例:**
```
{
    "traceID":"lgse97",
    "pspanId":1,
    "spanId":0,
    "appName":"base-platform",
    "hostName":"l5emnm",
    "targetServer":"device-platform",
    "logLevel":"DEBUG",
    "requestIp":"192.168.0.96",
    "method":"post",
    "ua":"xxx",
    "uri":"/xxx/xx",
    "requestData":"mmbhs8",
    "responseData":"jzlxtk",
    "logTime":"2022-08-25 16:22:44",
    "requestTime":"2022-08-25",
    "responseTime":"2022-08-25",
    "duration":12,
    "schemaData":"http"
}

```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|主键ID
&emsp;&emsp;traceID|String|TraceId
&emsp;&emsp;pspanId|Integer|父服务调用id
&emsp;&emsp;spanId|Integer|当前服务跨度Id
&emsp;&emsp;appName|String|应用名称
&emsp;&emsp;hostName|String|实例IP
&emsp;&emsp;targetServer|String|目标服务
&emsp;&emsp;logLevel|String|日志等级
&emsp;&emsp;requestIp|String|请求者IP
&emsp;&emsp;method|String|请求方式
&emsp;&emsp;ua|String|用户浏览器UA
&emsp;&emsp;uri|String|请求URI
&emsp;&emsp;requestData|String|请求参数，json序列化
&emsp;&emsp;responseData|String|响应结果,
&emsp;&emsp;logTime|Date|日志产生时间
&emsp;&emsp;requestTime|Date|请求时间
&emsp;&emsp;responseTime|Date|响应时间
&emsp;&emsp;duration|Long|持续时间，单位毫秒
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;schemaData|String|协议

**响应消息样例:**
```
{
    "msg":"新增模块成功",
    "code":1,
    "data":{}
    }
}

```

## 业务日志

### 查询业务日志列表

**请求URL:** biz/log/list

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 查询业务日志

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数，值为-1，查询所有记录

**请求样例:**
```
  {
        "page":1,
        "size":10
  }

```
**响应参数:**

参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|主键ID
&emsp;&emsp;traceID|String|追踪Id
&emsp;&emsp;appName|String|应用名称
&emsp;&emsp;hostName|String|实例IP
&emsp;&emsp;logLevel|String|日志等级
&emsp;&emsp;userCode|String|用户唯一标识
&emsp;&emsp;deviceCode|String|设备唯一标识
&emsp;&emsp;eventTopic|String|记录埋点的事件主题，方便实时计算或同步进行数据筛选
&emsp;&emsp;eventTopicName|String|记录埋点中文名称
&emsp;&emsp;msg|String|事件参数，json
&emsp;&emsp;logTime|Date|日志产生时间
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
dict|object|字典对象

**响应消息样例:**
```
{
    "code":1,
    "data":{
    }
}
```

### 查看业务日志

**请求URL:** biz/log/info

**请求方式:** GET

**内容类型:** application/json;charset=utf-8

**简要描述:** 查看业务日志，返回实例详细信息

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID

**请求样例:**
```
    http://localhost/biz/log/info?id=549
```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|主键ID
&emsp;traceID|String|追踪Id
&emsp;appName|String|应用名称
&emsp;hostName|String|实例IP
&emsp;logLevel|String|日志等级
&emsp;userCode|String|用户唯一标识
&emsp;deviceCode|String|设备唯一标识
&emsp;eventTopic|String|记录埋点的事件主题，方便实时计算或同步进行数据筛选
&emsp;eventTopicName|String|记录埋点中文名称
&emsp;msg|String|事件参数，json
&emsp;logTime|Date|日志产生时间
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
dict|object|字典对象

**响应消息样例:**
```
{
    "code": 1,
    "data": {
            "id":9662,
            "traceID":"npntx3",
            "appName":"umz7gh",
            "hostName":"6tppvx",
            "logLevel":"plvfrq",
            "userCode":"xmb1yu",
            "deviceCode":"lr59sg",
            "eventTopic":"bw5sr5",
            "eventTopicName":"d4lbk7",
            "msg":"pzgls2",
            "logTime":"2022-08-25",
            "createUserId":6260,
            "createTime":"2022-08-25"
        }
}
```

### 保存业务日志

**请求URL:** biz/log/save

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**请求方式二:** RabbitMQ

**队列名称:** BIZ_LOG_QUEUE

**简要描述:** 保存业务日志

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:-------
traceID|String|否|追踪Id
appName|String|否|应用名称
hostName|String|否|实例IP
logLevel|String|否|日志等级
userCode|String|否|用户唯一标识
deviceCode|String|否|设备唯一标识
eventTopic|String|否|记录埋点的事件主题，方便实时计算或同步进行数据筛选
eventTopicName|String|否|记录埋点中文名称
msg|String|否|事件参数
logTime|Date|是|日志产生时间

**请求样例:**
```
{
    "traceID":"emjxy8",
    "appName":"9hosqj",
    "hostName":"yibt9v",
    "logLevel":"a92l8v",
    "userCode":"jp66at",
    "deviceCode":"l3rg6b",
    "eventTopic":"09zus1",
    "eventTopicName":"xiopsd",
    "msg":"n41km8",
    "logTime":"2022-08-25",
}

```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|主键ID
&emsp;&emsp;traceID|String|追踪Id
&emsp;&emsp;appName|String|应用名称
&emsp;&emsp;hostName|String|实例IP
&emsp;&emsp;logLevel|String|日志等级
&emsp;&emsp;userCode|String|用户唯一标识
&emsp;&emsp;deviceCode|String|设备唯一标识
&emsp;&emsp;eventTopic|String|记录埋点的事件主题，方便实时计算或同步进行数据筛选
&emsp;&emsp;eventTopicName|String|记录埋点中文名称
&emsp;&emsp;msg|String|事件参数，json
&emsp;&emsp;logTime|Date|日志产生时间
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间

**响应消息样例:**
```
{
    "msg":"新增模块成功",
    "code":1,
    "data":{}
    }
}

```

## 异常日志

### 查询异常日志列表

**请求URL:** error/log/list

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**简要描述:** 查询异常日志

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数，值为-1，查询所有记录
traceID|String|否|追踪Id,字段前后添加%%模糊查询
appName|String|否|应用名称，宿主客户端运行唯一标识。,字段前后添加%%模糊查询
hostName|String|否|主机名,字段前后添加%%模糊查询
message|String|否|消息标识，如用户登录异常。,字段前后添加%%模糊查询
platform|String|否|当前客户端使用平台(java,php,c#,android,vue,webos,ios,python),字段前后添加%%模糊查询
culprit|String|否|主要导致异常函数或方法调用名称及入参,字段前后添加%%模糊查询
tags|String|否|异常事件标记，多个逗号分隔。用以归集异常事件种类。,字段前后添加%%模糊查询

**请求样例:**
```
  {
        "traceID":"zvpzi5",
        "appName":"s9ysi6",
        "hostName":"663256",
        "message":"kha3s6",
        "platform":"7ylldc",
        "culprit":"divomk",
        "tags":"pdlthh",
        "page":1,
        "size":10
  }

```
**响应参数:**

参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|主键ID
&emsp;&emsp;traceID|String|追踪Id
&emsp;&emsp;appName|String|应用名称，宿主客户端运行唯一标识。
&emsp;&emsp;hostName|String|主机名
&emsp;&emsp;message|String|消息标识，如用户登录异常。
&emsp;&emsp;platform|String|当前客户端使用平台(java,php,c#,android,vue,webos,ios,python)
&emsp;&emsp;culprit|String|主要导致异常函数或方法调用名称及入参
&emsp;&emsp;tags|String|异常事件标记，多个逗号分隔。用以归集异常事件种类。
&emsp;&emsp;level|String|等级(FATAL，ERROR,WARNING,INFO,DEBUG)
&emsp;&emsp;environment|String|客户端运行环境变量信息
&emsp;&emsp;releaseVersion|String|客户端运行版本信息
&emsp;&emsp;fingerprint|String|指纹标识，对于相同异常事件归集数量使用。
&emsp;&emsp;threadNo|String|线程号
&emsp;&emsp;checkNum|Integer|针对同一个异常事件，数量加1
&emsp;&emsp;errorStack|String|异常堆栈信息
&emsp;&emsp;context|String|上下文信息，如js中发送异常事件，定位源码中信息。
&emsp;&emsp;extra|String|扩展信息
&emsp;&emsp;logTime|Date|日志时间
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateTime|Date|更新时间
dict|object|字典对象
&emsp;platform|object|字典属性对象，详见附录
&emsp;level|object|字典属性对象，详见附录

**响应消息样例:**
```
{
    "code":1,
    "data":{
    }
}
```

### 查看异常日志

**请求URL:** error/log/info

**请求方式:** GET

**内容类型:** application/json;charset=utf-8

**简要描述:** 查看异常日志，返回实例详细信息

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID

**请求样例:**
```
    http://localhost/error/log/info?id=549
```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|主键ID
&emsp;traceID|String|追踪Id
&emsp;appName|String|应用名称，宿主客户端运行唯一标识。
&emsp;hostName|String|主机名
&emsp;message|String|消息标识，如用户登录异常。
&emsp;platform|String|当前客户端使用平台(java,php,c#,android,vue,webos,ios,python)
&emsp;culprit|String|主要导致异常函数或方法调用名称及入参
&emsp;tags|String|异常事件标记，多个逗号分隔。用以归集异常事件种类。
&emsp;level|String|等级(FATAL，ERROR,WARNING,INFO,DEBUG)
&emsp;environment|String|客户端运行环境变量信息
&emsp;releaseVersion|String|客户端运行版本信息
&emsp;fingerprint|String|指纹标识，对于相同异常事件归集数量使用。
&emsp;threadNo|String|线程号
&emsp;checkNum|Integer|针对同一个异常事件，数量加1
&emsp;errorStack|String|异常堆栈信息
&emsp;context|String|上下文信息，如js中发送异常事件，定位源码中信息。
&emsp;extra|String|扩展信息
&emsp;logTime|Date|日志时间
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
&emsp;updateTime|Date|更新时间
dict|object|字典对象
&emsp;platform|object|字典属性对象，详见附录
&emsp;level|object|字典属性对象，详见附录

**响应消息样例:**
```
{
    "code": 1,
    "data": {
            "id":6735,
            "traceID":"m5cz9e",
            "appName":"jol5wv",
            "hostName":"0hpdq8",
            "message":"ob4z18",
            "platform":"35r6ol",
            "culprit":"4et2b0",
            "tags":"oe7vrk",
            "level":"nkb33c",
            "environment":"tg3g27",
            "releaseVersion":"efdlty",
            "fingerprint":"lisrl9",
            "threadNo":"mg3ye9",
            "checkNum":7240,
            "errorStack":"ujmjpc",
            "context":"mrk7yw",
            "extra":"goo44i",
            "logTime":"2022-08-25",
            "createUserId":8472,
            "createTime":"2022-08-25",
            "updateTime":"2022-08-25"
        }
}
```

### 保存异常日志

**请求URL:** error/log/save

**请求方式:** POST

**内容类型:** application/json;charset=utf-8

**请求方式二:** RabbitMQ

**队列名称:** ERROR_LOG_QUEUE

**简要描述:** 保存异常日志

**请求参数:**

参数名称|类型|必填|描述
:---|:---|:---|:-------
traceID|String|否|追踪Id
appName|String|否|应用名称，宿主客户端运行唯一标识。
hostName|String|否|主机名
message|String|否|消息标识，如用户登录异常。
platform|String|否|当前客户端使用平台(java,php,c#,android,vue,webos,ios,python)
culprit|String|否|主要导致异常函数或方法调用名称及入参
tags|String|否|异常事件标记，多个逗号分隔。用以归集异常事件种类。
level|String|否|等级(FATAL，ERROR,WARNING,INFO,DEBUG)
environment|String|否|客户端运行环境变量信息
releaseVersion|String|否|客户端运行版本信息
fingerprint|String|否|指纹标识，对于相同异常事件归集数量使用。
threadNo|String|否|线程号
checkNum|Integer|否|针对同一个异常事件，数量加1
errorStack|String|否|异常堆栈信息
context|String|否|上下文信息，如js中发送异常事件，定位源码中信息。
extra|String|否|扩展信息
logTime|Date|否|日志时间

**请求样例:**
```
{
    "traceID":"713akh",
    "appName":"2bd1zh",
    "hostName":"bv0448",
    "message":"wo6n5j",
    "platform":"l0fxnk",
    "culprit":"1aygse",
    "tags":"x395au",
    "level":"7mzn0x",
    "environment":"4c7a2c",
    "releaseVersion":"odpclr",
    "fingerprint":"vx4qa8",
    "threadNo":"puuej1",
    "checkNum":3833,
    "errorStack":"p878b2",
    "context":"g02r20",
    "extra":"rrtpbv",
    "logTime":"2022-08-25",
}

```
**响应参数:**

参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码（-1.失败，1.成功）
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|主键ID
&emsp;&emsp;traceID|String|追踪Id
&emsp;&emsp;appName|String|应用名称，宿主客户端运行唯一标识。
&emsp;&emsp;hostName|String|主机名
&emsp;&emsp;message|String|消息标识，如用户登录异常。
&emsp;&emsp;platform|String|当前客户端使用平台(java,php,c#,android,vue,webos,ios,python)
&emsp;&emsp;culprit|String|主要导致异常函数或方法调用名称及入参
&emsp;&emsp;tags|String|异常事件标记，多个逗号分隔。用以归集异常事件种类。
&emsp;&emsp;level|String|等级(FATAL，ERROR,WARNING,INFO,DEBUG)
&emsp;&emsp;environment|String|客户端运行环境变量信息
&emsp;&emsp;releaseVersion|String|客户端运行版本信息
&emsp;&emsp;fingerprint|String|指纹标识，对于相同异常事件归集数量使用。
&emsp;&emsp;threadNo|String|线程号
&emsp;&emsp;checkNum|Integer|针对同一个异常事件，数量加1
&emsp;&emsp;errorStack|String|异常堆栈信息
&emsp;&emsp;context|String|上下文信息，如js中发送异常事件，定位源码中信息。
&emsp;&emsp;extra|String|扩展信息
&emsp;&emsp;logTime|Date|日志时间
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateTime|Date|更新时间

**响应消息样例:**
```
{
    "msg":"新增模块成功",
    "code":1,
    "data":{}
    }
}

```

## 字典附录
### platform
字典参数key|字典参数值|其它
:---|:---|:---
java|java|-
php|php|-
c#|c#|-
android|android|-
vue|vue|-
webos|webos|-
ios|ios|-
python|python|-
### level
字典参数key|字典参数值|其它
:---|:---|:---
FATAL|FATAL|-
ERROR|ERROR|-
WARNING|WARNING|-
INFO|INFO|-
DEBUG|DEBUG|-
