在 开发过程中 我们可以通过日志 来查看出现的各种问题,但是在生产环境中遇到问题时我们有时很难复现,不易我们了解到具体的问题,收集生产环境的报错日志会帮助我们记录问题,方便后期处理。
在main.js进行全局配置。
// 上报错误日志 const errors = [] const getTimestamp = () => { return new Date() } Vue.config.errorHandler = error => { errors.push({time:getTimestamp(),content:error.stack}) } window.onerror = (message,source,lineno,colon,error) => { errors.push({time:getTimestamp(),content:error.stack}) } window.addEventListener('error',event => { errors.push({time:getTimestamp(),content:event.error.stack}) }) setInterval(()=>{ if(errors.length > 0){ console.log(errors) const length = errors.length axios.post( '/',errors ).then(response => { errors.splice(0,length) },error => { console.log('保存日志报错了',res) }) } },3000)
(还在学习中,不足后期会修改,补充)