From c046ea9511becd5a7ba4ad3392a55e3b7da153be Mon Sep 17 00:00:00 2001 From: JPeer264 Date: Fri, 13 Mar 2026 09:12:46 +0100 Subject: [PATCH] feat(effect): Use options in buildEffectLayer without overriding --- packages/core/src/client.ts | 4 ++-- packages/effect/src/utils/buildEffectLayer.ts | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/core/src/client.ts b/packages/core/src/client.ts index 4854aeb8af5a..8d69411aacfd 100644 --- a/packages/core/src/client.ts +++ b/packages/core/src/client.ts @@ -256,10 +256,10 @@ export abstract class Client { // todo(v11): Remove the experimental flag // eslint-disable-next-line deprecation/deprecation - this._options.enableMetrics = this._options.enableMetrics ?? this._options._experiments?.enableMetrics ?? true; + const enableMetrics = this._options.enableMetrics ?? this._options._experiments?.enableMetrics ?? true; // Setup metric flushing with weight and timeout tracking - if (this._options.enableMetrics) { + if (enableMetrics) { setupWeightBasedFlushing( this, 'afterCaptureMetric', diff --git a/packages/effect/src/utils/buildEffectLayer.ts b/packages/effect/src/utils/buildEffectLayer.ts index 36879e0b956d..6516b99b497a 100644 --- a/packages/effect/src/utils/buildEffectLayer.ts +++ b/packages/effect/src/utils/buildEffectLayer.ts @@ -27,15 +27,17 @@ export function buildEffectLayer( } const clientOptions = client.getOptions(); + const enableMetrics = clientOptions.enableMetrics ?? clientOptions._experiments?.enableMetrics ?? true; + const enableLogs = clientOptions.enableLogs ?? clientOptions._experiments?.enableLogs ?? false; const { enableEffectLogs = false, enableEffectMetrics = false } = options; let layer: EffectLayer.Layer = SentryEffectTracerLayer; - if (enableEffectLogs && clientOptions.enableLogs) { + if (enableEffectLogs && enableLogs) { const effectLogger = replaceLogger(defaultLogger, SentryEffectLogger); layer = layer.pipe(provideMerge(effectLogger)); } - if (enableEffectMetrics && clientOptions.enableMetrics) { + if (enableEffectMetrics && enableMetrics) { layer = layer.pipe(provideMerge(SentryEffectMetricsLayer)); }