微信小程序 實(shí)時(shí)日志

2022-04-27 11:52 更新

實(shí)時(shí)日志

背景

為幫助小程序開發(fā)者快捷地排查小程序漏洞、定位問題,我們推出了實(shí)時(shí)日志功能。從基礎(chǔ)庫2.7.1開始,開發(fā)者可通過提供的接口打印日志,日志匯聚并實(shí)時(shí)上報(bào)到小程序后臺。開發(fā)者可從小程序管理后臺“開發(fā)->運(yùn)維中心->實(shí)時(shí)日志”進(jìn)入日志查詢頁面,查看開發(fā)者打印的日志信息。

如何使用

1、調(diào)用相關(guān)接口。打日志的接口是wx.getRealtimeLogManager,為了兼容舊的版本,建議使用如下代碼封裝一下,例如封裝在log.js文件里面:

var log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null

module.exports = {
  info() {
    if (!log) return
    log.info.apply(log, arguments)
  },
  warn() {
    if (!log) return
    log.warn.apply(log, arguments)
  },
  error() {
    if (!log) return
    log.error.apply(log, arguments)
  },
  setFilterMsg(msg) { // 從基礎(chǔ)庫2.7.3開始支持
    if (!log || !log.setFilterMsg) return
    if (typeof msg !== 'string') return
    log.setFilterMsg(msg)
  },
  addFilterMsg(msg) { // 從基礎(chǔ)庫2.8.1開始支持
    if (!log || !log.addFilterMsg) return
    if (typeof msg !== 'string') return
    log.addFilterMsg(msg)
  }
}

2、在頁面的具體位置打印日志:

var log = require('./log.js') // 引用上面的log.js文件
log.info('hello test hahaha') // 日志會(huì)和當(dāng)前打開的頁面關(guān)聯(lián),建議在頁面的onHide、onShow等生命周期里面打
log.warn('warn')
log.error('error')
log.setFilterMsg('filterkeyword')
log.setFilterMsg('addfilterkeyword')

完整的例子可以參考代碼片段:https://developers.weixin.qq.com/s/i42NbKmp76bJ

如何查看日志

登錄小程序管理后臺,從“開發(fā)->運(yùn)維中心->實(shí)時(shí)日志”進(jìn)入日志查詢頁面。開發(fā)者可通過設(shè)置時(shí)間、微信號/OpenID、頁面鏈接、FilterMsg內(nèi)容(基礎(chǔ)庫2.7.3及以上支持setFilterMsg)等篩選條件查詢指定用戶的日志信息。

./log.png

注意事項(xiàng)

由于后臺資源限制,“實(shí)時(shí)日志”使用規(guī)則如下:

  1. 為了定位問題方便,日志是按頁面劃分的,某一個(gè)頁面,在onShow到onHide(切換到其它頁面、右上角圓點(diǎn)退到后臺)之間打的日志,會(huì)聚合成一條日志上報(bào),并且在小程序管理后臺上可以根據(jù)頁面路徑搜索出該條日志
  2. 每個(gè)小程序賬號每天限制500萬條日志,日志會(huì)保留7天,建議遇到問題及時(shí)定位。
  3. 一條日志的上限是5KB,最多包含200次打印日志函數(shù)調(diào)用(info、warn、error調(diào)用都算),所以要謹(jǐn)慎打日志,避免在循環(huán)里面調(diào)用打日志接口,避免直接重寫console.log的方式打日志。
  4. 意見反饋里面的日志,可根據(jù)OpenID搜索日志。
  5. setFilterMsg可以設(shè)置過濾的Msg。這個(gè)接口的目的是提供某個(gè)場景的過濾能力,例如 setFilterMsg('scene1'),則在MP上可輸入scene1查詢得到該條日志。比如上線過程中,某個(gè)監(jiān)控有問題,可以根據(jù)FilterMsg過濾這個(gè)場景下的具體的用戶日志。FilterMsg僅支持大小寫字母。如果需要添加多個(gè)關(guān)鍵字,建議使用addFilterMsg替代setFilterMsg。

filtermsg  

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號