阅读 161

nestjs 集成 sentry

最近做的一个公司项目,使用 nestjs 作为服务端,为了收集服务报错,尝试了一下接入 sentry。整个流程也是比较简单,sentry 的功能也真的很强大。

开始之前需要一个 sentry 账号。

创建项目

首先选择一个开发平台,这里没有 nestjs(可能还是比较小众吧),我们可以直接选择 node;然后填写项目名称,owner 等信息

B9E2B630-1AD3-4465-A241-38E1B763990E.png

客户端集成

import { NestFactory } from '@nestjs/core'; import { AppModule } from './app/app.module'; import * as Sentry from '@sentry/node'; import CONFIG from '@Root/config'; const { APP_PORT, APP_ENV } = CONFIG; async function bootstrap() {   const app = await NestFactory.create(AppModule);   // 本地开发环境报错不上传至 sentry   if (APP_ENV !== 'dev') {     Sentry.init({       dsn: 'https://yourSentry.com/6',       tracesSampleRate: 1.0,       environment: APP_ENV,     });   }   await app.listen(APP_PORT); } bootstrap(); 复制代码

  • dsn:指定 sentry SDK 向哪里发送这些异常事件

  • tracesSampleRate:跟踪采样率,为 0 到 1 之间的数字。假如为 0.2,大约 20% 的错误将被记录和发送

  • environment:隔离不同环境,方便查询

68110814-B059-474E-BD4E-408B96EDDA84.png

错误收集

通过以上配置基本可以上报错误了,然后通过 sentry 控制台看到相关的错误信息及代码定位。 22BA9342-E102-4DC2-9E9C-0A3DE50A591A.png

0E4A3B3F-8F46-4A12-9AD2-30550B7960C9.png

???? 注意:如果是前端项目,需要上传 sourceMap 至 sentry 服务器, 但是 Node 项目一般没有源码转换(压缩、合并文件和转译),并不需要这样操作


作者:samwangdd
链接:https://juejin.cn/post/7020609290406739975

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐