@danieljvdm/dev-kit 1.0.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/package.json +1 -1
- package/skill-sources.jsonc +2 -33
- package/skill-sources.lock.json +15 -117
- package/skills/animate/LICENSE +21 -0
- package/skills/animate/NOTICE +10 -0
- package/skills/animate/SKILL.md +34 -0
- package/skills/animate/references/gestures.md +27 -0
- package/skills/animate/references/glossary.md +136 -0
- package/skills/animate/references/implementation.md +22 -0
- package/skills/animate/references/opportunities.md +18 -0
- package/skills/animate/references/principles.md +48 -0
- package/skills/animate/references/review.md +19 -0
- package/skills/cloudflare-workers/LICENSE +202 -0
- package/skills/cloudflare-workers/NOTICE +9 -0
- package/skills/cloudflare-workers/SKILL.md +26 -0
- package/skills/cloudflare-workers/references/durable-objects.md +68 -0
- package/skills/cloudflare-workers/references/sandbox.md +48 -0
- package/skills/cloudflare-workers/references/workers.md +63 -0
- package/skills/cloudflare-workers/references/wrangler.md +56 -0
- package/skills/design-ui/LICENSE +21 -0
- package/skills/design-ui/NOTICE +8 -0
- package/skills/design-ui/SKILL.md +29 -0
- package/skills/design-ui/references/appearance.md +22 -0
- package/skills/design-ui/references/components.md +33 -0
- package/skills/design-ui/references/exploration.md +50 -0
- package/skills/design-ui/references/libraries.md +39 -0
- package/skills/design-ui/references/themes.md +23 -0
- package/skills/dev-kit/SKILL.md +19 -38
- package/skills/dev-kit/references/cloudflare-worker-api.md +1 -1
- package/skills/dev-kit/references/skills.md +2 -2
- package/skills/effect-development/SKILL.md +27 -0
- package/skills/effect-development/agents/openai.yaml +4 -0
- package/skills/effect-development/references/api/index.md +32 -0
- package/skills/effect-development/references/api/schema-codecs.md +15 -0
- package/skills/{build-effect-apis/references → effect-development/references/api}/verification.md +10 -5
- package/skills/{effect-architecture-audit/SKILL.md → effect-development/references/architecture/index.md} +1 -6
- package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-client.md +8 -6
- package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-testing.md +7 -2
- package/skills/effect-development/references/atom/index.md +40 -0
- package/skills/{build-effect-clis/references → effect-development/references/cli}/entrypoints-and-testing.md +6 -2
- package/skills/effect-development/references/cli/index.md +39 -0
- package/skills/effect-development/references/setup.md +15 -0
- package/skills/open-pull-request/SKILL.md +10 -70
- package/skills/open-pull-request/references/evidence.md +22 -0
- package/skills/open-pull-request/references/explanation.md +21 -0
- package/skills/open-pull-request/references/publication.md +21 -0
- package/skills/sentry/LICENSE +202 -0
- package/skills/sentry/LICENSE-UPSTREAM +21 -0
- package/skills/sentry/NOTICE +14 -0
- package/skills/sentry/SKILL.md +33 -0
- package/skills/sentry/references/alert-payloads.md +105 -0
- package/skills/sentry/references/alerts.md +17 -0
- package/skills/sentry/references/artifacts.md +25 -0
- package/skills/sentry/references/auth-token.md +65 -0
- package/skills/sentry/references/concepts/ai-monitoring.md +131 -0
- package/skills/sentry/references/concepts/choosing-a-signal.md +78 -0
- package/skills/sentry/references/concepts/crons.md +50 -0
- package/skills/sentry/references/concepts/data-scrubbing.md +43 -0
- package/skills/sentry/references/concepts/errors.md +40 -0
- package/skills/sentry/references/concepts/logging.md +85 -0
- package/skills/sentry/references/concepts/metrics.md +49 -0
- package/skills/sentry/references/concepts/monitors.md +78 -0
- package/skills/sentry/references/concepts/profiling.md +38 -0
- package/skills/sentry/references/concepts/reduce-volume.md +49 -0
- package/skills/sentry/references/concepts/releases.md +43 -0
- package/skills/sentry/references/concepts/session-replay.md +35 -0
- package/skills/sentry/references/concepts/tracing.md +54 -0
- package/skills/sentry/references/concepts/user-feedback.md +36 -0
- package/skills/sentry/references/debug-artifacts/android.md +68 -0
- package/skills/sentry/references/debug-artifacts/apple.md +96 -0
- package/skills/sentry/references/debug-artifacts/dotnet.md +70 -0
- package/skills/sentry/references/debug-artifacts/flutter.md +65 -0
- package/skills/sentry/references/debug-artifacts/index.md +75 -0
- package/skills/sentry/references/debug-artifacts/javascript.md +94 -0
- package/skills/sentry/references/debug-artifacts/matching.md +73 -0
- package/skills/sentry/references/debug-artifacts/react-native.md +75 -0
- package/skills/sentry/references/first-error-setup.md +25 -0
- package/skills/sentry/references/instrumentation.md +30 -0
- package/skills/sentry/references/issues.md +32 -0
- package/skills/sentry/references/new-project.md +17 -0
- package/skills/sentry/references/otel-exporter.md +30 -0
- package/skills/sentry/references/release-workflow.md +31 -0
- package/skills/sentry/references/releases/ci-pipeline.md +214 -0
- package/skills/sentry/references/releases/index.md +93 -0
- package/skills/sentry/references/releases/suspect-commits.md +155 -0
- package/skills/sentry/references/releases/tagging.md +131 -0
- package/skills/sentry/references/releases/troubleshooting.md +67 -0
- package/skills/sentry/references/sdks/android/crons.md +305 -0
- package/skills/sentry/references/sdks/android/error-monitoring.md +800 -0
- package/skills/sentry/references/sdks/android/index.md +748 -0
- package/skills/sentry/references/sdks/android/integrations.md +48 -0
- package/skills/sentry/references/sdks/android/logging.md +374 -0
- package/skills/sentry/references/sdks/android/metrics.md +288 -0
- package/skills/sentry/references/sdks/android/profiling.md +397 -0
- package/skills/sentry/references/sdks/android/session-replay.md +406 -0
- package/skills/sentry/references/sdks/android/tracing.md +861 -0
- package/skills/sentry/references/sdks/browser/error-monitoring.md +861 -0
- package/skills/sentry/references/sdks/browser/index.md +714 -0
- package/skills/sentry/references/sdks/browser/logging.md +315 -0
- package/skills/sentry/references/sdks/browser/profiling.md +236 -0
- package/skills/sentry/references/sdks/browser/session-replay.md +586 -0
- package/skills/sentry/references/sdks/browser/tracing.md +561 -0
- package/skills/sentry/references/sdks/browser/user-feedback.md +354 -0
- package/skills/sentry/references/sdks/cloudflare/ai-monitoring.md +661 -0
- package/skills/sentry/references/sdks/cloudflare/crons.md +231 -0
- package/skills/sentry/references/sdks/cloudflare/durable-objects.md +381 -0
- package/skills/sentry/references/sdks/cloudflare/error-monitoring.md +329 -0
- package/skills/sentry/references/sdks/cloudflare/index.md +698 -0
- package/skills/sentry/references/sdks/cloudflare/logging.md +169 -0
- package/skills/sentry/references/sdks/cloudflare/nodejs-compat.md +134 -0
- package/skills/sentry/references/sdks/cloudflare/tracing.md +475 -0
- package/skills/sentry/references/sdks/cocoa/error-monitoring.md +394 -0
- package/skills/sentry/references/sdks/cocoa/index.md +497 -0
- package/skills/sentry/references/sdks/cocoa/logging.md +209 -0
- package/skills/sentry/references/sdks/cocoa/metrics.md +136 -0
- package/skills/sentry/references/sdks/cocoa/profiling.md +223 -0
- package/skills/sentry/references/sdks/cocoa/session-replay.md +257 -0
- package/skills/sentry/references/sdks/cocoa/tracing.md +524 -0
- package/skills/sentry/references/sdks/cocoa/user-feedback.md +310 -0
- package/skills/sentry/references/sdks/dotnet/crons.md +465 -0
- package/skills/sentry/references/sdks/dotnet/error-monitoring.md +1100 -0
- package/skills/sentry/references/sdks/dotnet/index.md +614 -0
- package/skills/sentry/references/sdks/dotnet/logging.md +556 -0
- package/skills/sentry/references/sdks/dotnet/metrics.md +229 -0
- package/skills/sentry/references/sdks/dotnet/profiling.md +296 -0
- package/skills/sentry/references/sdks/dotnet/tracing.md +897 -0
- package/skills/sentry/references/sdks/elixir/crons.md +371 -0
- package/skills/sentry/references/sdks/elixir/error-monitoring.md +335 -0
- package/skills/sentry/references/sdks/elixir/index.md +383 -0
- package/skills/sentry/references/sdks/elixir/logging.md +239 -0
- package/skills/sentry/references/sdks/elixir/tracing.md +233 -0
- package/skills/sentry/references/sdks/flutter/ecosystem-integrations.md +70 -0
- package/skills/sentry/references/sdks/flutter/error-monitoring.md +312 -0
- package/skills/sentry/references/sdks/flutter/index.md +728 -0
- package/skills/sentry/references/sdks/flutter/logging.md +387 -0
- package/skills/sentry/references/sdks/flutter/metrics.md +310 -0
- package/skills/sentry/references/sdks/flutter/profiling.md +214 -0
- package/skills/sentry/references/sdks/flutter/session-replay.md +308 -0
- package/skills/sentry/references/sdks/flutter/tracing.md +502 -0
- package/skills/sentry/references/sdks/go/crons.md +270 -0
- package/skills/sentry/references/sdks/go/error-monitoring.md +361 -0
- package/skills/sentry/references/sdks/go/index.md +324 -0
- package/skills/sentry/references/sdks/go/logging.md +354 -0
- package/skills/sentry/references/sdks/go/metrics.md +273 -0
- package/skills/sentry/references/sdks/go/profiling.md +46 -0
- package/skills/sentry/references/sdks/go/tracing.md +366 -0
- package/skills/sentry/references/sdks/index.md +41 -0
- package/skills/sentry/references/sdks/nestjs/ai-monitoring.md +410 -0
- package/skills/sentry/references/sdks/nestjs/crons.md +268 -0
- package/skills/sentry/references/sdks/nestjs/error-monitoring.md +729 -0
- package/skills/sentry/references/sdks/nestjs/index.md +699 -0
- package/skills/sentry/references/sdks/nestjs/logging.md +174 -0
- package/skills/sentry/references/sdks/nestjs/metrics.md +243 -0
- package/skills/sentry/references/sdks/nestjs/profiling.md +127 -0
- package/skills/sentry/references/sdks/nestjs/tracing.md +762 -0
- package/skills/sentry/references/sdks/nextjs/ai-monitoring.md +494 -0
- package/skills/sentry/references/sdks/nextjs/crons.md +383 -0
- package/skills/sentry/references/sdks/nextjs/error-monitoring.md +974 -0
- package/skills/sentry/references/sdks/nextjs/index.md +491 -0
- package/skills/sentry/references/sdks/nextjs/logging.md +381 -0
- package/skills/sentry/references/sdks/nextjs/metrics.md +411 -0
- package/skills/sentry/references/sdks/nextjs/profiling.md +403 -0
- package/skills/sentry/references/sdks/nextjs/session-replay.md +462 -0
- package/skills/sentry/references/sdks/nextjs/tracing.md +628 -0
- package/skills/sentry/references/sdks/node/ai-monitoring.md +303 -0
- package/skills/sentry/references/sdks/node/crons.md +432 -0
- package/skills/sentry/references/sdks/node/error-monitoring.md +1125 -0
- package/skills/sentry/references/sdks/node/index.md +942 -0
- package/skills/sentry/references/sdks/node/logging.md +380 -0
- package/skills/sentry/references/sdks/node/metrics.md +278 -0
- package/skills/sentry/references/sdks/node/profiling.md +373 -0
- package/skills/sentry/references/sdks/node/tracing.md +878 -0
- package/skills/sentry/references/sdks/php/ai-monitoring.md +310 -0
- package/skills/sentry/references/sdks/php/crons.md +265 -0
- package/skills/sentry/references/sdks/php/error-monitoring.md +626 -0
- package/skills/sentry/references/sdks/php/index.md +362 -0
- package/skills/sentry/references/sdks/php/laravel.md +542 -0
- package/skills/sentry/references/sdks/php/logging.md +242 -0
- package/skills/sentry/references/sdks/php/metrics.md +193 -0
- package/skills/sentry/references/sdks/php/profiling.md +115 -0
- package/skills/sentry/references/sdks/php/symfony.md +552 -0
- package/skills/sentry/references/sdks/php/tracing.md +516 -0
- package/skills/sentry/references/sdks/python/ai-monitoring.md +351 -0
- package/skills/sentry/references/sdks/python/crons.md +218 -0
- package/skills/sentry/references/sdks/python/error-monitoring.md +292 -0
- package/skills/sentry/references/sdks/python/index.md +361 -0
- package/skills/sentry/references/sdks/python/logging.md +234 -0
- package/skills/sentry/references/sdks/python/metrics.md +154 -0
- package/skills/sentry/references/sdks/python/profiling.md +120 -0
- package/skills/sentry/references/sdks/python/tracing.md +364 -0
- package/skills/sentry/references/sdks/react/error-monitoring.md +1607 -0
- package/skills/sentry/references/sdks/react/index.md +492 -0
- package/skills/sentry/references/sdks/react/logging.md +364 -0
- package/skills/sentry/references/sdks/react/profiling.md +322 -0
- package/skills/sentry/references/sdks/react/react-features.md +1272 -0
- package/skills/sentry/references/sdks/react/session-replay.md +1193 -0
- package/skills/sentry/references/sdks/react/tracing.md +1415 -0
- package/skills/sentry/references/sdks/react-native/error-monitoring.md +1481 -0
- package/skills/sentry/references/sdks/react-native/expo-config-plugin.md +45 -0
- package/skills/sentry/references/sdks/react-native/index.md +1030 -0
- package/skills/sentry/references/sdks/react-native/logging.md +444 -0
- package/skills/sentry/references/sdks/react-native/profiling.md +386 -0
- package/skills/sentry/references/sdks/react-native/session-replay.md +704 -0
- package/skills/sentry/references/sdks/react-native/tracing.md +1086 -0
- package/skills/sentry/references/sdks/react-native/user-feedback.md +815 -0
- package/skills/sentry/references/sdks/react-router-framework/error-monitoring.md +127 -0
- package/skills/sentry/references/sdks/react-router-framework/index.md +411 -0
- package/skills/sentry/references/sdks/react-router-framework/logging.md +66 -0
- package/skills/sentry/references/sdks/react-router-framework/profiling.md +57 -0
- package/skills/sentry/references/sdks/react-router-framework/react-router-framework-features.md +110 -0
- package/skills/sentry/references/sdks/react-router-framework/session-replay.md +67 -0
- package/skills/sentry/references/sdks/react-router-framework/tracing.md +96 -0
- package/skills/sentry/references/sdks/react-router-framework/user-feedback.md +71 -0
- package/skills/sentry/references/sdks/ruby/crons.md +184 -0
- package/skills/sentry/references/sdks/ruby/error-monitoring.md +248 -0
- package/skills/sentry/references/sdks/ruby/index.md +297 -0
- package/skills/sentry/references/sdks/ruby/logging.md +168 -0
- package/skills/sentry/references/sdks/ruby/metrics.md +196 -0
- package/skills/sentry/references/sdks/ruby/migration.md +321 -0
- package/skills/sentry/references/sdks/ruby/profiling.md +107 -0
- package/skills/sentry/references/sdks/ruby/tracing.md +388 -0
- package/skills/sentry/references/sdks/svelte/error-monitoring.md +456 -0
- package/skills/sentry/references/sdks/svelte/index.md +467 -0
- package/skills/sentry/references/sdks/svelte/logging.md +344 -0
- package/skills/sentry/references/sdks/svelte/session-replay.md +369 -0
- package/skills/sentry/references/sdks/svelte/tracing.md +406 -0
- package/skills/sentry/references/sdks/tanstack-start/error-monitoring.md +149 -0
- package/skills/sentry/references/sdks/tanstack-start/index.md +381 -0
- package/skills/sentry/references/sdks/tanstack-start/logging.md +74 -0
- package/skills/sentry/references/sdks/tanstack-start/session-replay.md +76 -0
- package/skills/sentry/references/sdks/tanstack-start/tanstackstart-features.md +128 -0
- package/skills/sentry/references/sdks/tanstack-start/tracing.md +123 -0
- package/skills/sentry/references/sdks/tanstack-start/user-feedback.md +81 -0
- package/skills/sentry/references/search-query-language.md +226 -0
- package/skills/sentry/references/semantics/angular.md +7 -0
- package/skills/sentry/references/semantics/app.md +28 -0
- package/skills/sentry/references/semantics/art.md +17 -0
- package/skills/sentry/references/semantics/aws.md +43 -0
- package/skills/sentry/references/semantics/browser.md +34 -0
- package/skills/sentry/references/semantics/cache.md +12 -0
- package/skills/sentry/references/semantics/client.md +8 -0
- package/skills/sentry/references/semantics/cloud.md +12 -0
- package/skills/sentry/references/semantics/cloudflare.md +23 -0
- package/skills/sentry/references/semantics/code.md +11 -0
- package/skills/sentry/references/semantics/culture.md +11 -0
- package/skills/sentry/references/semantics/db.md +21 -0
- package/skills/sentry/references/semantics/device.md +43 -0
- package/skills/sentry/references/semantics/error.md +7 -0
- package/skills/sentry/references/semantics/event.md +8 -0
- package/skills/sentry/references/semantics/exception.md +10 -0
- package/skills/sentry/references/semantics/faas.md +19 -0
- package/skills/sentry/references/semantics/file.md +8 -0
- package/skills/sentry/references/semantics/flag.md +7 -0
- package/skills/sentry/references/semantics/gcp.md +16 -0
- package/skills/sentry/references/semantics/gen_ai.md +53 -0
- package/skills/sentry/references/semantics/general.md +11 -0
- package/skills/sentry/references/semantics/graphql.md +9 -0
- package/skills/sentry/references/semantics/grpc.md +19 -0
- package/skills/sentry/references/semantics/http.md +34 -0
- package/skills/sentry/references/semantics/index.md +63 -0
- package/skills/sentry/references/semantics/jsonrpc.md +8 -0
- package/skills/sentry/references/semantics/jvm.md +12 -0
- package/skills/sentry/references/semantics/koa.md +7 -0
- package/skills/sentry/references/semantics/logger.md +7 -0
- package/skills/sentry/references/semantics/mcp.md +37 -0
- package/skills/sentry/references/semantics/mdc.md +7 -0
- package/skills/sentry/references/semantics/messaging.md +23 -0
- package/skills/sentry/references/semantics/middleware.md +7 -0
- package/skills/sentry/references/semantics/navigation.md +9 -0
- package/skills/sentry/references/semantics/nel.md +11 -0
- package/skills/sentry/references/semantics/network.md +17 -0
- package/skills/sentry/references/semantics/os.md +15 -0
- package/skills/sentry/references/semantics/otel.md +10 -0
- package/skills/sentry/references/semantics/params.md +7 -0
- package/skills/sentry/references/semantics/process.md +14 -0
- package/skills/sentry/references/semantics/react.md +7 -0
- package/skills/sentry/references/semantics/remix.md +7 -0
- package/skills/sentry/references/semantics/resource.md +7 -0
- package/skills/sentry/references/semantics/rpc.md +10 -0
- package/skills/sentry/references/semantics/score.md +10 -0
- package/skills/sentry/references/semantics/sentry.md +69 -0
- package/skills/sentry/references/semantics/server.md +8 -0
- package/skills/sentry/references/semantics/service.md +8 -0
- package/skills/sentry/references/semantics/session.md +7 -0
- package/skills/sentry/references/semantics/state.md +7 -0
- package/skills/sentry/references/semantics/thread.md +8 -0
- package/skills/sentry/references/semantics/timber.md +7 -0
- package/skills/sentry/references/semantics/trpc.md +8 -0
- package/skills/sentry/references/semantics/ui.md +18 -0
- package/skills/sentry/references/semantics/url.md +15 -0
- package/skills/sentry/references/semantics/user.md +17 -0
- package/skills/sentry/references/semantics/user_agent.md +7 -0
- package/skills/sentry/references/semantics/vercel.md +42 -0
- package/skills/sentry/references/setup-verification.md +39 -0
- package/skills/sentry/references/snapshots/github-actions-fanout.md +206 -0
- package/skills/sentry/references/snapshots/github-actions-simple.md +102 -0
- package/skills/sentry/references/snapshots/github-actions-swift-snapshot-testing.md +118 -0
- package/skills/sentry/references/snapshots/index.md +19 -0
- package/skills/sentry/references/snapshots/snapshot-previews.md +100 -0
- package/skills/sentry/references/snapshots/snapshots.md +123 -0
- package/skills/sentry/references/snapshots/wizard-setup.md +134 -0
- package/skills/testing/LICENSE +21 -0
- package/skills/testing/NOTICE +7 -0
- package/skills/testing/SKILL.md +13 -19
- package/skills/testing/agents/openai.yaml +1 -2
- package/skills/testing/references/selection.md +23 -0
- package/skills/testing/references/tdd.md +19 -0
- package/skills/testing/references/test-design.md +17 -0
- package/src/catalog.ts +1 -7
- package/skills/build-effect-apis/SKILL.md +0 -81
- package/skills/build-effect-apis/agents/openai.yaml +0 -4
- package/skills/build-effect-clis/SKILL.md +0 -92
- package/skills/build-effect-clis/agents/openai.yaml +0 -4
- package/skills/effect-architecture-audit/agents/openai.yaml +0 -4
- package/skills/effect-atom-state/SKILL.md +0 -97
- package/skills/effect-atom-state/agents/openai.yaml +0 -4
- package/skills/effect-ts/SKILL.md +0 -35
- package/skills/effect-ts/agents/openai.yaml +0 -4
- /package/skills/{build-effect-apis/references → effect-development/references/api}/cloudflare-workers.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/runtime-assembly.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/server-and-middleware.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/shared-contracts.md +0 -0
- /package/skills/{effect-architecture-audit/references → effect-development/references/architecture}/service-and-boundary-audit.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-lifecycle.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-workflows.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/tanstack-start.md +0 -0
- /package/skills/{build-effect-clis/references → effect-development/references/cli}/command-design.md +0 -0
- /package/skills/{build-effect-clis/references → effect-development/references/cli}/processes-and-platform.md +0 -0
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
# Logging — Sentry Svelte/SvelteKit SDK
|
|
2
|
+
|
|
3
|
+
> Minimum SDK: `@sentry/sveltekit` ≥9.41.0+ / `@sentry/svelte` ≥9.41.0+ for
|
|
4
|
+
> `Sentry.logger` API\
|
|
5
|
+
> `consoleLoggingIntegration()`: requires ≥10.13.0+\
|
|
6
|
+
> Scope-based attribute setters (`getIsolationScope`, `getGlobalScope`): requires
|
|
7
|
+
> ≥10.32.0+
|
|
8
|
+
|
|
9
|
+
> ⚠️ **Not available via CDN/loader snippet** — NPM install required.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Enabling Logs
|
|
14
|
+
|
|
15
|
+
`enableLogs` is opt-in.
|
|
16
|
+
Add it to every `Sentry.init()` call where you want logs captured.
|
|
17
|
+
|
|
18
|
+
### SvelteKit — both files
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
// src/instrumentation.server.ts (or hooks.server.ts for legacy)
|
|
22
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
23
|
+
|
|
24
|
+
Sentry.init({
|
|
25
|
+
dsn: process.env.SENTRY_DSN,
|
|
26
|
+
enableLogs: true,
|
|
27
|
+
});
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
// src/hooks.client.ts
|
|
32
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
33
|
+
|
|
34
|
+
Sentry.init({
|
|
35
|
+
dsn: import.meta.env.PUBLIC_SENTRY_DSN ?? import.meta.env.VITE_SENTRY_DSN,
|
|
36
|
+
enableLogs: true,
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
export const handleError = Sentry.handleErrorWithSentry();
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Standalone Svelte — main.ts
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
import * as Sentry from "@sentry/svelte";
|
|
46
|
+
|
|
47
|
+
Sentry.init({
|
|
48
|
+
dsn: import.meta.env.VITE_SENTRY_DSN,
|
|
49
|
+
enableLogs: true,
|
|
50
|
+
});
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Logger API — Six Levels
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
import * as Sentry from "@sentry/sveltekit"; // or "@sentry/svelte"
|
|
59
|
+
|
|
60
|
+
Sentry.logger.trace("Entering processOrder", { fn: "processOrder", orderId: "ord_1" });
|
|
61
|
+
Sentry.logger.debug("Cache lookup", { key: "user:123", hit: false });
|
|
62
|
+
Sentry.logger.info("Order created", { orderId: "order_456", total: 99.99 });
|
|
63
|
+
Sentry.logger.warn("Rate limit approaching", { current: 95, max: 100 });
|
|
64
|
+
Sentry.logger.error("Payment failed", { reason: "card_declined", userId: "u_1" });
|
|
65
|
+
Sentry.logger.fatal("Database unavailable", { host: "db-primary", port: 5432 });
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
| Level | Intent |
|
|
69
|
+
| ------- | ----------------------------------------------------------------------- |
|
|
70
|
+
| `trace` | Fine-grained debugging, high-volume — filter aggressively in production |
|
|
71
|
+
| `debug` | Development diagnostics |
|
|
72
|
+
| `info` | Normal operations, business milestones |
|
|
73
|
+
| `warn` | Degraded state, near-limit conditions |
|
|
74
|
+
| `error` | Failures requiring attention |
|
|
75
|
+
| `fatal` | Critical failures, system-down conditions |
|
|
76
|
+
|
|
77
|
+
**Attribute value types:** `string`, `number`, `boolean` only.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Parameterized Messages (`logger.fmt`)
|
|
82
|
+
|
|
83
|
+
Use `logger.fmt` tagged template literals to bind variables as **structured, searchable
|
|
84
|
+
attributes** in Sentry:
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
const userId = "user_123";
|
|
88
|
+
const productName = "Widget Pro";
|
|
89
|
+
const amount = 49.99;
|
|
90
|
+
|
|
91
|
+
Sentry.logger.info(Sentry.logger.fmt`User ${userId} purchased ${productName} for $${amount}`);
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Results in:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
message.template: "User %s purchased %s for $%s"
|
|
98
|
+
message.parameter.0: "user_123"
|
|
99
|
+
message.parameter.1: "Widget Pro"
|
|
100
|
+
message.parameter.2: 49.99
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
This allows filtering in Sentry by any individual parameter value, not just the full
|
|
104
|
+
message string.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Console Capture Integration
|
|
109
|
+
|
|
110
|
+
Automatically forwards `console.*` calls to Sentry as structured logs.
|
|
111
|
+
Requires SDK ≥10.13.0.
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
Sentry.init({
|
|
115
|
+
dsn: "...",
|
|
116
|
+
enableLogs: true,
|
|
117
|
+
integrations: [
|
|
118
|
+
Sentry.consoleLoggingIntegration({
|
|
119
|
+
levels: ["log", "warn", "error"], // which console levels to forward
|
|
120
|
+
}),
|
|
121
|
+
],
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
// These are now automatically sent to Sentry:
|
|
125
|
+
console.log("User action", { userId: 123, action: "checkout" });
|
|
126
|
+
console.warn("High memory usage", 85, "%");
|
|
127
|
+
console.error("Fetch failed", new Error("timeout"));
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
`console.log("Text", 123, true)` → `message.parameter.0 = 123`,
|
|
131
|
+
`message.parameter.1 = true`
|
|
132
|
+
|
|
133
|
+
### Consola integration (SvelteKit server-side)
|
|
134
|
+
|
|
135
|
+
For apps using the `consola` logging library (common in SvelteKit SSR):
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// SDK >= 10.12.0
|
|
139
|
+
import consola from "consola";
|
|
140
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
141
|
+
|
|
142
|
+
const reporter = Sentry.createConsolaReporter();
|
|
143
|
+
consola.addReporter(reporter);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Scope-Based Automatic Attributes (SDK ≥10.32.0)
|
|
149
|
+
|
|
150
|
+
Attributes set on scopes are **automatically added to all subsequent logs** within that
|
|
151
|
+
scope — no need to repeat them on every log call.
|
|
152
|
+
|
|
153
|
+
### Global scope (process lifetime)
|
|
154
|
+
|
|
155
|
+
```typescript
|
|
156
|
+
// Set once at startup — applies everywhere, client and server
|
|
157
|
+
Sentry.getGlobalScope().setAttributes({
|
|
158
|
+
service: "checkout-service",
|
|
159
|
+
version: "2.1.0",
|
|
160
|
+
region: "us-east-1",
|
|
161
|
+
});
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Isolation scope (per-request in SvelteKit)
|
|
165
|
+
|
|
166
|
+
SvelteKit creates a new isolation scope per server request.
|
|
167
|
+
Set per-request context here:
|
|
168
|
+
|
|
169
|
+
```typescript
|
|
170
|
+
// src/hooks.server.ts — enrich every server log with request context
|
|
171
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
172
|
+
import { sequence } from "@sveltejs/kit/hooks";
|
|
173
|
+
|
|
174
|
+
export const handle = sequence(Sentry.sentryHandle(), async ({ event, resolve }) => {
|
|
175
|
+
Sentry.getIsolationScope().setAttributes({
|
|
176
|
+
org_id: event.locals.user?.orgId,
|
|
177
|
+
user_tier: event.locals.user?.tier,
|
|
178
|
+
request_id: event.request.headers.get("x-request-id") ?? undefined,
|
|
179
|
+
});
|
|
180
|
+
return resolve(event);
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Current scope (narrowest, single operation)
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
Sentry.withScope((scope) => {
|
|
188
|
+
scope.setAttribute("order_id", "ord_789");
|
|
189
|
+
scope.setAttribute("payment_method", "stripe");
|
|
190
|
+
Sentry.logger.info("Processing payment", { amount: 49.99 });
|
|
191
|
+
// order_id and payment_method are included in this log only
|
|
192
|
+
});
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Log Filtering with `beforeSendLog`
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
Sentry.init({
|
|
201
|
+
dsn: "...",
|
|
202
|
+
enableLogs: true,
|
|
203
|
+
beforeSendLog: (log) => {
|
|
204
|
+
// Drop debug logs in production
|
|
205
|
+
if (log.level === "debug" || log.level === "trace") return null;
|
|
206
|
+
|
|
207
|
+
// Scrub sensitive attribute keys
|
|
208
|
+
if (log.attributes?.password) {
|
|
209
|
+
delete log.attributes.password;
|
|
210
|
+
}
|
|
211
|
+
if (log.attributes?.["credit_card"]) {
|
|
212
|
+
log.attributes["credit_card"] = "[REDACTED]";
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
// Drop health-check noise
|
|
216
|
+
if (log.attributes?.["http.target"] === "/health") return null;
|
|
217
|
+
|
|
218
|
+
return log;
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Auto-Generated Attributes
|
|
226
|
+
|
|
227
|
+
The SDK adds these to every log without any developer action:
|
|
228
|
+
|
|
229
|
+
| Attribute | Source | Notes |
|
|
230
|
+
| ----------------------------------------- | ------------------------------ | -------------------------------------------------------------- |
|
|
231
|
+
| `environment` | `Sentry.init({ environment })` | — |
|
|
232
|
+
| `release` | `Sentry.init({ release })` | — |
|
|
233
|
+
| `sdk.name`, `sdk.version` | SDK internals | — |
|
|
234
|
+
| `browser.name`, `browser.version` | User-Agent | Client-side only |
|
|
235
|
+
| `user.id`, `user.name`, `user.email` | `Sentry.setUser()` | When `dataCollection.userInfo: true` (default in SDK ≥10.57.0) |
|
|
236
|
+
| `sentry.trace.parent_span_id` | Active tracing span | If tracing is enabled |
|
|
237
|
+
| `sentry.replay_id` | Active replay session | If Session Replay is enabled |
|
|
238
|
+
| `message.template`, `message.parameter.X` | `logger.fmt` usage | — |
|
|
239
|
+
| `sentry.origin` | Integration-generated logs | — |
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## Trace + Log Correlation
|
|
244
|
+
|
|
245
|
+
When tracing is enabled alongside logging, logs are **automatically linked** to the
|
|
246
|
+
current trace:
|
|
247
|
+
|
|
248
|
+
```typescript
|
|
249
|
+
Sentry.init({
|
|
250
|
+
dsn: "...",
|
|
251
|
+
enableLogs: true,
|
|
252
|
+
tracesSampleRate: 1.0,
|
|
253
|
+
integrations: [Sentry.browserTracingIntegration()],
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
// Inside an active span, logs get sentry.trace.parent_span_id automatically
|
|
257
|
+
await Sentry.startSpan({ name: "process-order", op: "task" }, async () => {
|
|
258
|
+
Sentry.logger.info("Validating cart", { cartId: "cart_abc" });
|
|
259
|
+
// ^ this log is linked to the "process-order" span in Sentry UI
|
|
260
|
+
await validateCart();
|
|
261
|
+
Sentry.logger.info("Payment initiated", { gateway: "stripe" });
|
|
262
|
+
});
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Navigate from log → parent span, or from span → correlated logs, in the Sentry UI.
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## SvelteKit Server-Side Logging
|
|
270
|
+
|
|
271
|
+
On the server side, `enableLogs: true` in `instrumentation.server.ts` enables
|
|
272
|
+
`Sentry.logger.*` in:
|
|
273
|
+
|
|
274
|
+
- `hooks.server.ts` handle functions
|
|
275
|
+
- `+page.server.ts` / `+layout.server.ts` load functions
|
|
276
|
+
- API routes (`+server.ts`)
|
|
277
|
+
|
|
278
|
+
```typescript
|
|
279
|
+
// src/routes/api/orders/+server.ts
|
|
280
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
281
|
+
import { json } from "@sveltejs/kit";
|
|
282
|
+
|
|
283
|
+
export const POST = async ({ request }) => {
|
|
284
|
+
const body = await request.json();
|
|
285
|
+
|
|
286
|
+
Sentry.logger.info(Sentry.logger.fmt`Creating order for user ${body.userId}`);
|
|
287
|
+
|
|
288
|
+
try {
|
|
289
|
+
const order = await createOrder(body);
|
|
290
|
+
Sentry.logger.info("Order created", { orderId: order.id, total: order.total });
|
|
291
|
+
return json(order, { status: 201 });
|
|
292
|
+
} catch (err) {
|
|
293
|
+
Sentry.logger.error("Order creation failed", {
|
|
294
|
+
userId: body.userId,
|
|
295
|
+
reason: (err as Error).message,
|
|
296
|
+
});
|
|
297
|
+
throw err;
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Svelte vs SvelteKit: Key Differences
|
|
305
|
+
|
|
306
|
+
| Concern | Standalone Svelte | SvelteKit |
|
|
307
|
+
| --------------------------- | --------------------- | ---------------------------------------------------- |
|
|
308
|
+
| `enableLogs` location | Single `main.ts` init | Both `hooks.client.ts` + `instrumentation.server.ts` |
|
|
309
|
+
| Server-side logging | ❌ N/A | ✅ Full — `Sentry.logger.*` in any server code |
|
|
310
|
+
| Isolation scope per request | ❌ N/A | ✅ Set in `hooks.server.ts` for per-request context |
|
|
311
|
+
| `consoleLoggingIntegration` | Single init | Both client and server inits |
|
|
312
|
+
| `consola` reporter | N/A (client-only) | Server hooks or load functions |
|
|
313
|
+
| Trace correlation | Client spans only | Client + server spans |
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Best Practices
|
|
318
|
+
|
|
319
|
+
- Add `enableLogs: true` to **both** `hooks.client.ts` and `instrumentation.server.ts`
|
|
320
|
+
in SvelteKit — logging is not shared between the two init calls
|
|
321
|
+
- Use `Sentry.logger.fmt` for any log that includes a variable — enables search by value
|
|
322
|
+
in Sentry
|
|
323
|
+
- Set global attributes (`getGlobalScope().setAttributes()`) for service-level metadata
|
|
324
|
+
(service name, version, region)
|
|
325
|
+
- Use `getIsolationScope().setAttributes()` in `hooks.server.ts` to enrich all logs for
|
|
326
|
+
a given request
|
|
327
|
+
- Use `beforeSendLog` to drop `trace`/`debug` logs in production to control volume
|
|
328
|
+
- Avoid logging raw sensitive data even with `beforeSendLog` — filter at the call site
|
|
329
|
+
when possible
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## Troubleshooting
|
|
334
|
+
|
|
335
|
+
| Issue | Solution |
|
|
336
|
+
| -------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
337
|
+
| Logs not appearing in Sentry | Check `enableLogs: true` is set; logs require SDK ≥9.41.0 |
|
|
338
|
+
| Server logs missing, client logs present | Add `enableLogs: true` to `instrumentation.server.ts` (separate init from client) |
|
|
339
|
+
| `logger.fmt` not creating parameters | Ensure you’re calling `Sentry.logger.fmt` as a tagged template — not a function call |
|
|
340
|
+
| Too many log entries (noise) | Use `beforeSendLog` to filter by level; increase `trace`/`debug` filter in production |
|
|
341
|
+
| Logs not linked to traces | Ensure tracing is enabled and active span exists when log is called |
|
|
342
|
+
| `consoleLoggingIntegration` requires upgrade | Upgrade to `@sentry/sveltekit` ≥10.13.0 |
|
|
343
|
+
| Scope attributes not appearing | Upgrade to ≥10.32.0 for `getGlobalScope`/`getIsolationScope` APIs |
|
|
344
|
+
| Log attributes contain `undefined` | Sentry only accepts `string \| number \| boolean` attribute values — filter undefined before passing |
|