# operation.realtimelogSearch

本接口应在服务器端调用,详细说明参见服务端API

本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载),wx-server-sdk >= 0.4.0

实时日志查询

调用方式:

# HTTPS 调用

# 请求地址

GET https://api.weixin.qq.com/wxaapi/userlog/userlog_search?access_token=ACCESS_TOKEN

# 请求参数

属性 类型 默认值 必填 说明
access_token / cloudbase_access_token string 接口调用凭证
date string YYYYMMDD格式的日期,仅支持最近7天
begintime number 开始时间,必须是 date 指定日期的时间
endtime number 结束时间,必须是 date 指定日期的时间
start number 0 开始返回的数据下标,用作分页,默认为0
limit number 20 返回的数据条数,用作分页,默认为20
traceId string 小程序启动的唯一ID,按 TraceId 查询会展示该次小程序启动过程的所有页面的日志。
url string 小程序页面路径,例如pages/index/index
id string 用户微信号或者OpenId
filterMsg string 开发者通过setFileterMsg/addFilterMsg指定的 filterMsg 字段
level number 日志等级,返回大于等于 level 等级的日志,level的定义为2(Info)、4(Warn)、8(Error),如果指定为4,则返回大于等于4的日志,即返回 Warn 和Error日志。

# 返回值

# Object

属性 类型 说明
data Object 返回的日志数据和日志条数总量
list Array.<Object> 返回的日志数据列表
errcode number 微信侧错误码,下单失败时返回
errmsg string 微信侧错误信息,下单失败时返回

list 的结构

属性 类型 说明
level number 日志等级,是 msg 数组里面的所有 level 字段的或操作得到的结果。例如 msg 数组里有两条日志,Info(值为2)和Warn(值为4),则 level 值为6
libraryVersion string 基础库版本
clientVersion string 客户端版本
id string 微信用户OpenID
timestamp number 打日志的 Unix 时间戳
platform number 1 安卓 2 IOS
url string 小程序页面链接
msg Array.<Object> 日志内容数组,log.info等的内容存在这里
traceid string 小程序启动的唯一ID,按 TraceId 查询会展示该次小程序启动过程的所有页面的日志。
filterMsg string 微信用户OpenID

list.msg 的结构

属性 类型 说明
time number log.info调用的时间
msg Array.<string> log.info调用的内容,每个参数分别是数组的一项
level number log.info调用的日志等级

errcode 的合法值

说明 最低版本
-1 系统失败
200002 参数错误,date、begintime、endtime必填。date只能是最近三天的日期,endtime必须大于begintime
200010 操作过于频繁,目前限制每分钟50次
200007 无权限

# 返回示例

查询成功 { "errcode": 0, "errmsg": "", "data": { "list": [{ "level": 6, "platform": 1, "libraryVersion": "2.8.3", "clientVersion": "7.0.7", "id": "oXu034-Kl5Et2U0vsexKDsFaon0Q", "timestamp": 1570852796, "msg": [{ "time": 1570852795, "msg": ["hello world"], "level": 2 }, { "time": 1570852795, "msg": ["get msg list mig 10006"], "level": 4 }], "url": "pages/chat/chat", "traceid": "oXu03410akoNqfsrMMswk6Zwwl1U_1570852656", "filterMsg": "NetworkExceed08 ReportTimeTotal" }], "total": 1000 } }

# 云调用

云调用是微信云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

# 接口方法

openapi.operation.realtimelogSearch

需在 config.json 中配置 operation.realtimelogSearch API 的权限,详情

# 请求参数

属性 类型 默认值 必填 说明
date string YYYYMMDD格式的日期,仅支持最近7天
begintime number 开始时间,必须是 date 指定日期的时间
endtime number 结束时间,必须是 date 指定日期的时间
start number 0 开始返回的数据下标,用作分页,默认为0
limit number 20 返回的数据条数,用作分页,默认为20
traceId string 小程序启动的唯一ID,按 TraceId 查询会展示该次小程序启动过程的所有页面的日志。
url string 小程序页面路径,例如pages/index/index
id string 用户微信号或者OpenId
filterMsg string 开发者通过setFileterMsg/addFilterMsg指定的 filterMsg 字段
level number 日志等级,返回大于等于 level 等级的日志,level的定义为2(Info)、4(Warn)、8(Error),如果指定为4,则返回大于等于4的日志,即返回 Warn 和Error日志。

# 返回值

# Object

属性 类型 说明
data Object 返回的日志数据和日志条数总量
list Array.<Object> 返回的日志数据列表
errCode number 微信侧错误码,下单失败时返回
errMsg string 微信侧错误信息,下单失败时返回

list 的结构

属性 类型 说明
level number 日志等级,是 msg 数组里面的所有 level 字段的或操作得到的结果。例如 msg 数组里有两条日志,Info(值为2)和Warn(值为4),则 level 值为6
libraryVersion string 基础库版本
clientVersion string 客户端版本
id string 微信用户OpenID
timestamp number 打日志的 Unix 时间戳
platform number 1 安卓 2 IOS
url string 小程序页面链接
msg Array.<Object> 日志内容数组,log.info等的内容存在这里
traceid string 小程序启动的唯一ID,按 TraceId 查询会展示该次小程序启动过程的所有页面的日志。
filterMsg string 微信用户OpenID

list.msg 的结构

属性 类型 说明
time number log.info调用的时间
msg Array.<string> log.info调用的内容,每个参数分别是数组的一项
level number log.info调用的日志等级

errCode 的合法值

说明 最低版本
0 成功

# 异常

# Object

抛出的异常

属性 类型 说明
errCode number 微信侧错误码,下单失败时返回
errMsg string 微信侧错误信息,下单失败时返回

errCode 的合法值

说明 最低版本
-1 系统失败
200002 参数错误,date、begintime、endtime必填。date只能是最近三天的日期,endtime必须大于begintime
200010 操作过于频繁,目前限制每分钟50次
200007 无权限

# 请求示例

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.operation.realtimelogSearch({
        "date": '',
        "begintime": '',
        "endtime": '',
        "start": '',
        "limit": '',
        "traceId": '',
        "url": '',
        "id": '',
        "filterMsg": '',
        "level": ''
      })
    return result
  } catch (err) {
    return err
  }
}