Bootstrap

接入 Sentry 实现前端的异常上报

接入 Sentry 实现前端的异常上报是一个常见的做法,用于捕获和监控前端应用中的错误和异常,以便更好地理解和解决生产环境中的问题。以下是如何在常见的前端框架(如 React、Vue 和 Angular)中接入 Sentry 的步骤。

1. 注册并获取 Sentry DSN

  1. 访问 Sentry 官网 并注册一个账号。
  2. 创建一个新的项目,并获取项目的 DSN(Data Source Name)。DSN 是你用来配置 Sentry SDK 的唯一标识符。

2. 安装 Sentry SDK

React
  1. 使用 npm 或 yarn 安装 Sentry SDK:

    npm install @sentry/react @sentry/browser
    # 或者
    yarn add @sentry/react @sentry/browser
  2. 在你的应用入口文件(如 index.js 或 App.js)中初始化 Sentry:

    import React from 'react';
    import ReactDOM from 'react-dom';
    import App from './App';
    import * as Sentry from '@sentry/react';
    
    // 使用你的 Sentry DSN 初始化 Sentry
    Sentry.init({
      dsn: 'YOUR_DSN_HERE',
      // 其他配置选项
    });
    
    ReactDOM.render(
      <React.StrictMode>
        <App />
      </React.StrictMode>,
      document.getElementById('root')
    );
Vue
  1. 使用 npm 或 yarn 安装 Sentry SDK:

    npm install @sentry/vue @sentry/browser
    # 或者
    yarn add @sentry/vue @sentry/browser
  2. 在你的应用入口文件(如 main.js)中初始化 Sentry:

    import Vue from 'vue';
    import App from './App.vue';
    import * as Sentry from '@sentry/vue';
    import * as SentryBrowser from '@sentry/browser';
    
    // 使用你的 Sentry DSN 初始化 Sentry
    Sentry.init({
      dsn: 'YOUR_DSN_HERE',
      // 其他配置选项
      integrations: [
        new SentryBrowser.Integrations.Vue({
          Vue,
          attachProps: true, // 附加 Vue 组件的 props 到错误报告中
          logErrors: true,   // 在控制台记录错误
        }),
      ],
    });
    
    new Vue({
      render: h => h(App),
    }).$mount('#app');

3. 配置 Sentry(可选)

根据需求,你可以进一步配置 Sentry,例如:

  • 设置用户上下文:捕获用户信息(如用户名、ID 等)。
  • 捕获额外的面包屑(Breadcrumbs):记录用户在触发错误之前的行为。
  • 自定义错误处理:添加额外的信息或条件判断。
Sentry.configureScope((scope) => {
  scope.setUser({
    id: 'user_id_123',
    username: 'user_name_123',
    email: '[email protected]',
  });

  scope.addBreadcrumb({
    message: 'User did something',
    category: 'user',
    level: Sentry.Severity.Info,
  });
});


4. 测试并验证

  1. 部署你的应用。
  2. 触发一些错误(如故意写一些会导致错误的代码)。
  3. 检查 Sentry 仪表板,确保错误被正确捕获和记录。

通过这些步骤,你就可以在前端应用中接入 Sentry 并实现异常上报。Sentry 提供了丰富的功能和配置选项,帮助你更好地监控和管理前端应用的错误和异常。

;