소스 검색

Feat: add sentry (#234)

Joel 1 년 전
부모
커밋
431b2fd4a8
5개의 변경된 파일67개의 추가작업 그리고 1개의 파일을 삭제
  1. 17 1
      web/next.config.js
  2. 1 0
      web/package.json
  3. 23 0
      web/sentry.client.config.js
  4. 16 0
      web/sentry.edge.config.js
  5. 10 0
      web/sentry.server.config.js

+ 17 - 1
web/next.config.js

@@ -1,3 +1,5 @@
+const { withSentryConfig } = require("@sentry/nextjs")
+
 const withMDX = require('@next/mdx')({
   extension: /\.mdx?$/,
   options: {
@@ -29,6 +31,7 @@ const nextConfig = {
     // https://nextjs.org/docs/api-reference/next.config.js/ignoring-typescript-errors
     ignoreBuildErrors: true,
   },
+  sentry: {},
   async redirects() {
     return [
       {
@@ -40,4 +43,17 @@ const nextConfig = {
   },
 }
 
-module.exports = withMDX(nextConfig)
+// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup
+const sentryWebpackPluginOptions = {
+  org: "perfectworld",
+  project: "javascript-nextjs",
+  silent: true, // Suppresses all logs
+  sourcemaps: {
+    assets: "./**",
+    ignore: ["./node_modules/**"],
+  },
+
+  // https://github.com/getsentry/sentry-webpack-plugin#options.
+}
+
+module.exports = withMDX(withSentryConfig(nextConfig, sentryWebpackPluginOptions))

+ 1 - 0
web/package.json

@@ -17,6 +17,7 @@
     "@mdx-js/loader": "^2.3.0",
     "@mdx-js/react": "^2.3.0",
     "@next/mdx": "^13.2.4",
+    "@sentry/nextjs": "^7.53.1",
     "@tailwindcss/line-clamp": "^0.4.2",
     "@types/crypto-js": "^4.1.1",
     "@types/lodash-es": "^4.17.7",

+ 23 - 0
web/sentry.client.config.js

@@ -0,0 +1,23 @@
+import * as Sentry from "@sentry/nextjs";
+
+Sentry.init({
+  dsn: "https://6bf48a450f054d749398c02a61bae343@o4505264807215104.ingest.sentry.io/4505264809115648",
+  // Replay may only be enabled for the client-side
+  integrations: [new Sentry.Replay()],
+
+  // Set tracesSampleRate to 1.0 to capture 100%
+  // of transactions for performance monitoring.
+  // We recommend adjusting this value in production
+  tracesSampleRate: 1.0,
+
+  // Capture Replay for 10% of all sessions,
+  // plus for 100% of sessions with an error
+  replaysSessionSampleRate: 0.1,
+  replaysOnErrorSampleRate: 1.0,
+
+  // ...
+
+  // Note: if you want to override the automatic release value, do not set a
+  // `release` value here - use the environment variable `SENTRY_RELEASE`, so
+  // that it will also get attached to your source maps
+});

+ 16 - 0
web/sentry.edge.config.js

@@ -0,0 +1,16 @@
+import * as Sentry from "@sentry/nextjs";
+
+Sentry.init({
+  dsn: "https://6bf48a450f054d749398c02a61bae343@o4505264807215104.ingest.sentry.io/4505264809115648",
+
+  // Set tracesSampleRate to 1.0 to capture 100%
+  // of transactions for performance monitoring.
+  // We recommend adjusting this value in production
+  tracesSampleRate: 1.0,
+
+  // ...
+
+  // Note: if you want to override the automatic release value, do not set a
+  // `release` value here - use the environment variable `SENTRY_RELEASE`, so
+  // that it will also get attached to your source maps
+});

+ 10 - 0
web/sentry.server.config.js

@@ -0,0 +1,10 @@
+import * as Sentry from "@sentry/nextjs";
+
+Sentry.init({
+  dsn: "https://6bf48a450f054d749398c02a61bae343@o4505264807215104.ingest.sentry.io/4505264809115648",
+
+  // Set tracesSampleRate to 1.0 to capture 100%
+  // of transactions for performance monitoring.
+  // We recommend adjusting this value in production
+  tracesSampleRate: 1.0,
+});