Skip to main content

概述

使用 Sentry 进行错误监控和性能追踪。

初始化

// sentry.client.config.ts
import * as Sentry from '@sentry/nextjs';

Sentry.init({
  dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
  tracesSampleRate: 0.1,
  environment: process.env.NODE_ENV,
});

手动捕获

try {
  await riskyOperation();
} catch (error) {
  Sentry.captureException(error, {
    tags: { feature: 'generator' },
    extra: { imageId: currentImage.id },
  });
}

用户上下文

// 登录后设置用户信息
Sentry.setUser({
  id: user.id,
  email: user.email,
});

// 登出时清除
Sentry.setUser(null);

面包屑

Sentry.addBreadcrumb({
  category: 'user-action',
  message: 'Applied filter',
  level: 'info',
  data: {
    filterId: selectedFilter.id,
  },
});

最佳实践

  1. 为错误添加有意义的 tags 和 extra 数据
  2. 登录后设置用户上下文
  3. 在关键操作前后添加面包屑