Official Sentry SDK for Effect.ts (Alpha)
NOTICE: This package is in alpha state and may be subject to breaking changes.
Getting Started
This SDK does not have docs yet. Stay tuned.
Usage
import * as Sentry from '@sentry/effect/server'; import { NodeRuntime } from '@effect/platform-node'; import { Layer, Logger } from 'effect'; import { HttpLive } from './Http.js'; const SentryLive = Layer.mergeAll( Sentry.effectLayer({ dsn: '__DSN__', tracesSampleRate: 1.0, enableLogs: true, }), Layer.setTracer(Sentry.SentryEffectTracer), Logger.replace(Logger.defaultLogger, Sentry.SentryEffectLogger), Sentry.SentryEffectMetricsLayer, ); const MainLive = HttpLive.pipe(Layer.provide(SentryLive)); MainLive.pipe(Layer.launch, NodeRuntime.runMain);
The effectLayer function initializes Sentry. To enable Effect instrumentation, compose with:
Layer.setTracer(Sentry.SentryEffectTracer)- Effect spans traced as Sentry spansLogger.replace(Logger.defaultLogger, Sentry.SentryEffectLogger)- Effect logs forwarded to SentrySentry.SentryEffectMetricsLayer- Effect metrics sent to Sentry