NOTICE: This package is in alpha state and may be subject to breaking changes.
This SDK does not have docs yet. Stay tuned.
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