Feat: add sentry (#234)

This commit is contained in:
Joel 2023-05-29 11:38:24 +08:00 committed by GitHub
parent 88545184be
commit 431b2fd4a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 67 additions and 1 deletions

View File

@ -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))

View File

@ -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",

View File

@ -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
web/sentry.edge.config.js Normal file
View File

@ -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
});

View File

@ -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,
});