VUE前端工程报错监控实践( 二 )

<93f13de6-5a1e-bd6f-24e0-8608d5442c93@qq.com> to [2022-06-17 08:32:05] DEBUG [hvJt01jlQc8] C: MAIL FROM:[2022-06-17 08:32:05] DEBUG [hvJt01jlQc8] S: 250 OK[2022-06-17 08:32:05] DEBUG [hvJt01jlQc8] C: RCPT TO:[2022-06-17 08:32:05] DEBUG [hvJt01jlQc8] S: 250 OK[2022-06-17 08:32:05] DEBUG [hvJt01jlQc8] C: DATA[2022-06-17 08:32:05] DEBUG [hvJt01jlQc8] S: 354 End data with ..[2022-06-17 08:32:05] INFO[hvJt01jlQc8] <668 bytes encoded mime message (source size 665 bytes)>[2022-06-17 08:32:06] DEBUG [hvJt01jlQc8] S: 250 OK: queued as.[2022-06-17 08:32:06] DEBUG [hvJt01jlQc8] Closing connection to the server using "end"Message sent successfully![2022-06-17 08:32:06] INFO[hvJt01jlQc8] Connection closed
如此,便实现了发邮件的功能,将捕获的错误信息写入邮件内容就可以实现上报了 。
这里有坑不知道你会不会遇到:
这是个node服务、node服务、node服务,要用node命令启动 。在这个位置卡住了一段,傻傻的以为可以用js直接调用 。这里延伸出一个问题,需要事先启动该服务,以便上报时调用如下配置中的邮箱需要是相同的邮箱,想来简单,但就是卡了我一下
如果node服务都不想起,那是个选择 。

VUE前端工程报错监控实践

文章插图
过程大致是如下:
注册登录配置接受信息的邮箱,并验证邮箱
3、配置一个接收信息的form,会生成一个链接,即为调用的地址
【VUE前端工程报错监控实践】https://formspree.io/f/xvolyepj
? 说下遇到的问题:
4、调用
app.config.errorHandler = (err, vm, info) => {console.log('[全局异常]', err, vm, info)axios({method: 'post',url: 'https://formspree.io/f/xvolyepj',data: {errorMsg: err.message,errorDetail: err.stack,sss: '44444'}})}
5、结果
除掉邮箱需要托管之外,也算是个不错的方案 。但是……
万事怎么可能没有但是,测试到后面收到个邮件,才发现是有限额的,两个邮箱,每月50 条,土豪请办卡 。
6、后续
上述两种邮件通知方案都存在一致命的缺陷,就是在内网环境下可能无法实现上述所需网络环境的联通,造成功能不可以 。
为此,将联合后台同事一起实现该方案!