Skip to main content

日志上报

开发者可以使用 SDK 提供的日志上报功能。

import { appLog } '@xverse/core'

// 上报info,标准格式为 event + payload
appLog.info({ event: 'key', payload: 'value' })

// 上报warn,标准格式为 event + payload
appLog.warn({ event: 'key', payload: 'key' })

// 上报err,标准格式为 event + error
appLog.error({ event: 'key', error: 'error' })

// 测速上报,相同的 event 表示为一个测速打点
// Good Examples:
appLog.speedMarkStart('speed-event')
appLog.speedMarkEnd('speed-event')

appLog.speedMarkStart({ event: 'speed-event', ...somethingelse })
appLog.speedMarkEnd('speed-event')

appLog.speedMarkStart('speed-eventb')
appLog.speedMarkEnd({ event: 'speed-event', ...somethingelse })

// Bad Examples:
appLog.speedMarkStart('speed-event')
appLog.speedMarkEnd('speed-event')
appLog.speedMarkEnd('speed-event') // 这个点不会上报,控制台会打 warning

appLog.speedMarkStart('speed-event') // 这个 mark 点会被下面的 mark 点覆盖
appLog.speedMarkStart('speed-event')
appLog.speedMarkEnd('speed-event') // 这里的测速数据是从第二个 mark 点开始测量的

// 注意:使用 `speedMarkStart` 和 `speedMarkEnd` 进行测速上报时,可以设置 `startTime` 参数来作为测速的起点。
// 此时可以不需要先调用 `speedMarkStart` 方法。
// Example:
const startTime = Date.now()
// ... something cost a long time
appLog.speedMarkEnd({ event: 'speed-event', startTime: startTime, ...somethingelse }) // 直接上报测速点