謝天謝地,小程序終於出這個功能了,小程序上線後,若是用戶反饋問題真的很難排查問題,咱們可以收集的資料極其有限,小程序推出實時日誌真的能夠有效幫助定位問題。javascript
2.7.1
調用起來很是方便,獲取小程序日誌管理器 wx.getRealtimeLogManager
,而後經過 info
、warn
、error
等方法打印不一樣類型的日誌。java
const log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null;
if (!log) return;
log.info('hello, info');
log.warn('hello, warn');
log.error('hello, error');
複製代碼
也能夠經過設置過濾關鍵字來幫助日誌篩選。小程序
log.setFilterMsg('filterkeyword');
log.addFilterMsg('addfilterkeyword');
複製代碼
page
通用能力中每次都寫一遍比較麻煩,還容易出錯,因此能夠進行一些封裝。下面爲 app.js
app
onLaunch() {
this.enhancePage();
},
// 加強Page能力,小程序不支持prototype的形式拓展能力
enhancePage() {
const oPage = Page;
Page = config => oPage(Object.assign(config, {
$logger: this.getLogger(),
}));
},
// 獲取日誌打印器
getLogger() {
const log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null;
return {
info: () => log && log.info.apply(log, arguments),
warn: () => log && log.warn.apply(log, arguments),
error: () => log && log.error.apply(log, arguments),
setFilterMsg: msg => log && log.setFilterMsg && log.setFilterMsg(msg),
addFilterMsg: msg => log && log.addFilterMsg && log.addFilterMsg(msg),
}
}
複製代碼
在頁面中進行使用運維
Page({
onLoad() {
this.$logger.info('just test');
}
})
複製代碼