diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java index 3b4a8fc0e9..2427b49675 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java @@ -121,6 +121,8 @@ final class ManifestMetadataReader { static final String IN_APP_EXCLUDES = "io.sentry.in-app-excludes"; + static final String ENABLE_LOGS = "io.sentry.logs.enabled"; + static final String ENABLE_AUTO_TRACE_ID_GENERATION = "io.sentry.traces.enable-auto-id-generation"; @@ -471,6 +473,10 @@ static void applyMetadata( options.addInAppExclude(exclude); } } + + options + .getLogs() + .setEnabled(readBool(metadata, logger, ENABLE_LOGS, options.getLogs().isEnabled())); } options .getLogger() diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt index 781eef7ac9..ce200c2fdc 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt @@ -1590,4 +1590,29 @@ class ManifestMetadataReaderTest { // Assert assertTrue(fixture.options.inAppExcludes.isEmpty()) } + + @Test + fun `applyMetadata reads logs enabled and keep default value if not found`() { + // Arrange + val context = fixture.getContext() + + // Act + ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider) + + // Assert + assertFalse(fixture.options.logs.isEnabled) + } + + @Test + fun `applyMetadata reads logs enabled to options`() { + // Arrange + val bundle = bundleOf(ManifestMetadataReader.ENABLE_LOGS to true) + val context = fixture.getContext(metaData = bundle) + + // Act + ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider) + + // Assert + assertTrue(fixture.options.logs.isEnabled) + } }