@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,169 @@
|
|
|
1
|
+
# Logging — Sentry Cloudflare SDK
|
|
2
|
+
|
|
3
|
+
> Minimum SDK: `@sentry/cloudflare` v9.41.0+ (stable GA) First experimental: v9.10.0+
|
|
4
|
+
> (via `_experiments.enableLogs`) Status: ✅ **Generally Available**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Sentry Logs are high-cardinality structured log entries that link directly to traces and
|
|
11
|
+
errors. They let you answer _why_ something broke, not just _what_ broke.
|
|
12
|
+
|
|
13
|
+
Key characteristics:
|
|
14
|
+
|
|
15
|
+
- Sent as structured data — each attribute is individually searchable in Sentry UI
|
|
16
|
+
- Automatically linked to the active trace (if tracing is enabled)
|
|
17
|
+
- Buffered and batched — no per-log network overhead
|
|
18
|
+
- NOT a replacement for a logging library; designed to complement one
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Initialization
|
|
23
|
+
|
|
24
|
+
`enableLogs: true` is **required**. Logging is disabled by default.
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
export default Sentry.withSentry(
|
|
28
|
+
(env: Env) => ({
|
|
29
|
+
dsn: env.SENTRY_DSN,
|
|
30
|
+
enableLogs: true,
|
|
31
|
+
tracesSampleRate: 1.0,
|
|
32
|
+
|
|
33
|
+
beforeSendLog: (log) => {
|
|
34
|
+
// Optional: filter or transform logs
|
|
35
|
+
if (log.level === "debug") return null; // Drop debug logs
|
|
36
|
+
return log;
|
|
37
|
+
},
|
|
38
|
+
}),
|
|
39
|
+
handler,
|
|
40
|
+
);
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Logger API
|
|
46
|
+
|
|
47
|
+
All six methods live at `Sentry.logger.*`:
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
Sentry.logger.trace("Processing request for path %s", [request.url]);
|
|
51
|
+
Sentry.logger.debug("Cache lookup result: %s", [cacheHit ? "hit" : "miss"]);
|
|
52
|
+
Sentry.logger.info("User %s authenticated successfully", [userId]);
|
|
53
|
+
Sentry.logger.warn("Rate limit approaching for key %s: %d/%d", [apiKey, current, limit]);
|
|
54
|
+
Sentry.logger.error("Payment processing failed for order %s", [orderId]);
|
|
55
|
+
Sentry.logger.fatal("Worker initialization failed: %s", [error.message]);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Signature
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
Sentry.logger.<level>(message: string, params?: unknown[], attributes?: Record<string, unknown>)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- **`message`** — format string with `%s`, `%d`, `%f`, `%o`, `%O` placeholders
|
|
65
|
+
(printf-style)
|
|
66
|
+
- **`params`** — parameter values substituted into the format string
|
|
67
|
+
- **`attributes`** — structured key-value data attached to the log entry
|
|
68
|
+
|
|
69
|
+
### With Attributes
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
Sentry.logger.info("Request processed", [], {
|
|
73
|
+
"http.method": request.method,
|
|
74
|
+
"http.url": request.url,
|
|
75
|
+
"http.status_code": response.status,
|
|
76
|
+
"response.time_ms": elapsed,
|
|
77
|
+
});
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Console Integration
|
|
83
|
+
|
|
84
|
+
The `consoleIntegration` (enabled by default) captures `console.log`, `console.warn`,
|
|
85
|
+
`console.error`, etc.
|
|
86
|
+
as **breadcrumbs** — not as Sentry Logs.
|
|
87
|
+
|
|
88
|
+
For actual Sentry Logs that appear in the Logs product, use `Sentry.logger.*`.
|
|
89
|
+
|
|
90
|
+
To also forward `console.*` calls to Sentry Logs, add the `consoleLoggingIntegration`:
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
import * as Sentry from "@sentry/cloudflare";
|
|
94
|
+
|
|
95
|
+
export default Sentry.withSentry(
|
|
96
|
+
(env: Env) => ({
|
|
97
|
+
dsn: env.SENTRY_DSN,
|
|
98
|
+
enableLogs: true,
|
|
99
|
+
integrations: [Sentry.consoleLoggingIntegration({ levels: ["warn", "error"] })],
|
|
100
|
+
}),
|
|
101
|
+
handler,
|
|
102
|
+
);
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
This captures `console.warn()` and `console.error()` calls as Sentry Logs in addition to
|
|
106
|
+
their normal breadcrumb behavior.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Log-to-Trace Correlation
|
|
111
|
+
|
|
112
|
+
When tracing is enabled, logs are automatically linked to the active trace.
|
|
113
|
+
In the Sentry UI, you can navigate from a log entry to the trace timeline and vice
|
|
114
|
+
versa.
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
await Sentry.startSpan({ op: "function", name: "processOrder" }, async () => {
|
|
118
|
+
Sentry.logger.info("Starting order processing for %s", [orderId]);
|
|
119
|
+
|
|
120
|
+
await validateOrder(orderId);
|
|
121
|
+
Sentry.logger.debug("Order validated", [], { orderId });
|
|
122
|
+
|
|
123
|
+
await chargePayment(orderId);
|
|
124
|
+
Sentry.logger.info("Payment charged for order %s", [orderId]);
|
|
125
|
+
});
|
|
126
|
+
// All three log entries are linked to the "processOrder" span
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Configuration
|
|
132
|
+
|
|
133
|
+
| Option | Type | Default | Notes |
|
|
134
|
+
| --------------- | ---------------------- | ------- | -------------------------------------------- |
|
|
135
|
+
| `enableLogs` | `boolean` | `false` | Must be `true` to enable Sentry Logs |
|
|
136
|
+
| `beforeSendLog` | `(log) => log \| null` | — | Filter or modify logs; return `null` to drop |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Best Practices
|
|
141
|
+
|
|
142
|
+
1. **Use structured attributes** — put searchable data in the `attributes` parameter,
|
|
143
|
+
not in the message string.
|
|
144
|
+
This makes logs filterable in the Sentry UI.
|
|
145
|
+
|
|
146
|
+
2. **Use format strings with parameters** —
|
|
147
|
+
`Sentry.logger.info("User %s did %s", [userId, action])` is better than template
|
|
148
|
+
literals because Sentry can group similar logs.
|
|
149
|
+
|
|
150
|
+
3. **Don’t log everything** — Sentry Logs are for observability, not a firehose.
|
|
151
|
+
Focus on key events: authentication, payment, external API calls, errors.
|
|
152
|
+
|
|
153
|
+
4. **Combine with `console.log` for local dev** — `Sentry.logger.*` sends to Sentry
|
|
154
|
+
only. Keep `console.log` for local development output and `Sentry.logger.*` for
|
|
155
|
+
production observability.
|
|
156
|
+
|
|
157
|
+
5. **Filter noisy logs** — use `beforeSendLog` to drop debug/trace level logs in
|
|
158
|
+
production if they generate too much volume.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Troubleshooting
|
|
163
|
+
|
|
164
|
+
| Issue | Solution |
|
|
165
|
+
| -------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
166
|
+
| Logs not appearing in Sentry | Verify `enableLogs: true` is set in init options |
|
|
167
|
+
| Logs not linked to traces | Ensure tracing is enabled (`tracesSampleRate` or `tracesSampler` set) |
|
|
168
|
+
| `console.log` not in Sentry Logs | `console.*` creates breadcrumbs, not Logs. Use `consoleLoggingIntegration` to also forward to Sentry Logs |
|
|
169
|
+
| Log volume too high | Use `beforeSendLog` to filter by level or content; avoid logging in tight loops |
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Node.js Compatibility Entrypoint — Sentry Cloudflare SDK
|
|
2
|
+
|
|
3
|
+
> `@sentry/cloudflare/nodejs_compat` entrypoint: v10.64.0+ Prisma integration
|
|
4
|
+
> (Cloudflare): via `/nodejs_compat` entrypoint only Requires the `nodejs_compat`
|
|
5
|
+
> compatibility flag in Wrangler config
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Cloudflare Workers can run with Node.js APIs enabled through the
|
|
12
|
+
[`nodejs_compat` compatibility flag](https://developers.cloudflare.com/workers/runtime-apis/nodejs/).
|
|
13
|
+
To take advantage of this, the Cloudflare SDK ships a dedicated
|
|
14
|
+
`@sentry/cloudflare/nodejs_compat` entrypoint that unlocks Node.js SDK features which
|
|
15
|
+
aren’t available in the default Workers runtime.
|
|
16
|
+
|
|
17
|
+
**Using this entrypoint is generally recommended, and it’s the default choice for new
|
|
18
|
+
projects.** It’s a drop-in replacement for the default `@sentry/cloudflare` import that
|
|
19
|
+
adds functionality (see [What It Unlocks](#what-it-unlocks)) without removing anything —
|
|
20
|
+
and it becomes the default entrypoint in v11, so adopting it now keeps you ahead of that
|
|
21
|
+
change. The only prerequisite is the `nodejs_compat` flag, which is itself a superset of
|
|
22
|
+
the `nodejs_als` flag the SDK already needs.
|
|
23
|
+
For a new Worker, enable `nodejs_compat` and import from
|
|
24
|
+
`@sentry/cloudflare/nodejs_compat` from the start.
|
|
25
|
+
|
|
26
|
+
> The `/nodejs_compat` entrypoint requires SDK version `10.64.0` or higher.
|
|
27
|
+
> It will become the **default entrypoint in the next major version (v11)**.
|
|
28
|
+
|
|
29
|
+
### What It Unlocks
|
|
30
|
+
|
|
31
|
+
The `/nodejs_compat` entrypoint enables Node.js-only integrations and features on
|
|
32
|
+
Cloudflare, including:
|
|
33
|
+
|
|
34
|
+
- **`prismaIntegration`** — tracing Prisma ORM queries (see
|
|
35
|
+
[Prisma Integration](#prisma-integration) below)
|
|
36
|
+
- **Vercel AI SDK v7 support** for the `vercelAIIntegration`
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Usage
|
|
41
|
+
|
|
42
|
+
The entrypoint is a drop-in replacement for `@sentry/cloudflare` — switching over only
|
|
43
|
+
requires changing your imports:
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
// Before
|
|
47
|
+
import * as Sentry from "@sentry/cloudflare";
|
|
48
|
+
|
|
49
|
+
// After
|
|
50
|
+
import * as Sentry from "@sentry/cloudflare/nodejs_compat";
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Everything else (`withSentry`, `sentryPagesPlugin`, `instrumentDurableObjectWithSentry`,
|
|
54
|
+
etc.) works exactly the same.
|
|
55
|
+
|
|
56
|
+
### Prerequisite: `nodejs_compat` Flag
|
|
57
|
+
|
|
58
|
+
To use the entrypoint, your Worker must set the `nodejs_compat` compatibility flag in
|
|
59
|
+
your Wrangler configuration:
|
|
60
|
+
|
|
61
|
+
**wrangler.jsonc:**
|
|
62
|
+
|
|
63
|
+
```jsonc
|
|
64
|
+
{
|
|
65
|
+
"compatibility_flags": ["nodejs_compat"],
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**wrangler.toml:**
|
|
70
|
+
|
|
71
|
+
```toml
|
|
72
|
+
compatibility_flags = ["nodejs_compat"]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
> `nodejs_compat` is a superset of `nodejs_als` — it enables `AsyncLocalStorage` (which
|
|
76
|
+
> the SDK requires) plus the rest of the Node.js compatibility surface.
|
|
77
|
+
> If you’re already on `nodejs_compat`, using the `/nodejs_compat` entrypoint is
|
|
78
|
+
> recommended.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Prisma Integration
|
|
83
|
+
|
|
84
|
+
On Cloudflare, the `prismaIntegration` is **only** available through the
|
|
85
|
+
`/nodejs_compat` entrypoint.
|
|
86
|
+
|
|
87
|
+
Import Sentry from the `@sentry/cloudflare/nodejs_compat` entrypoint and add
|
|
88
|
+
`prismaIntegration` to your init options:
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import * as Sentry from "@sentry/cloudflare/nodejs_compat";
|
|
92
|
+
|
|
93
|
+
export default Sentry.withSentry(
|
|
94
|
+
(env: Env) => ({
|
|
95
|
+
dsn: env.SENTRY_DSN,
|
|
96
|
+
tracesSampleRate: 1.0,
|
|
97
|
+
integrations: [Sentry.prismaIntegration()],
|
|
98
|
+
}),
|
|
99
|
+
{
|
|
100
|
+
async fetch(request, env, ctx) {
|
|
101
|
+
return new Response("OK");
|
|
102
|
+
},
|
|
103
|
+
} satisfies ExportedHandler<Env>,
|
|
104
|
+
);
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
The integration creates a span for each query and reports relevant details to Sentry.
|
|
108
|
+
|
|
109
|
+
**Supported Prisma versions:** `5.x`, `6.x`, `7.x`.
|
|
110
|
+
|
|
111
|
+
In Prisma **v5**, you also need to add the `tracing` preview feature to the `generator`
|
|
112
|
+
block of your Prisma schema:
|
|
113
|
+
|
|
114
|
+
```txt
|
|
115
|
+
// schema.prisma
|
|
116
|
+
generator client {
|
|
117
|
+
provider = "prisma-client-js"
|
|
118
|
+
previewFeatures = ["tracing"]
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
For details on the span structure Prisma’s OpenTelemetry tracing produces (e.g.,
|
|
123
|
+
`prisma:client:operation`, `prisma:engine:db_query`), see the
|
|
124
|
+
[Prisma trace output docs](https://www.prisma.io/docs/orm/prisma-client/observability-and-logging/opentelemetry-tracing#trace-output).
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Troubleshooting
|
|
129
|
+
|
|
130
|
+
| Issue | Cause | Solution |
|
|
131
|
+
| ----------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------- |
|
|
132
|
+
| `prismaIntegration` not found / no Prisma spans | Importing from the default entrypoint | Import from `@sentry/cloudflare/nodejs_compat` and ensure SDK ≥ v10.64.0 |
|
|
133
|
+
| Prisma v5 produces no spans | Missing `tracing` preview feature | Add `previewFeatures = ["tracing"]` to the `generator` block in `schema.prisma` |
|
|
134
|
+
| Node.js APIs undefined at runtime | Using `/nodejs_compat` entrypoint without the flag | Add `nodejs_compat` to `compatibility_flags` in Wrangler config |
|