Skip to content

Commit c8fd4ec

Browse files
authored
[Logs 14] Add Manifest option for enabling Logs (#4395)
* Add Log feature to Java SDK * Rate limit for log items * Add options for logs * Add batch processor for logs * Use a separate ExecutorService for log batching * Reduce locking when log event is created * Add system tests for Logs * Separate enum for SentryLogLevel * Remove logsSampleRate option * Move logs options out of experimental namespace * Add severity_number to SentryLogItem * Logs review feedback * mark captureBatchedLogEvents internal * remove hint for logs * Attach server.address to logs * Add io.sentry.logs.enabled to Manifest * Allow null for log event attribute value
1 parent 4ff56a6 commit c8fd4ec

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,8 @@ final class ManifestMetadataReader {
121121

122122
static final String IN_APP_EXCLUDES = "io.sentry.in-app-excludes";
123123

124+
static final String ENABLE_LOGS = "io.sentry.logs.enabled";
125+
124126
static final String ENABLE_AUTO_TRACE_ID_GENERATION =
125127
"io.sentry.traces.enable-auto-id-generation";
126128

@@ -471,6 +473,10 @@ static void applyMetadata(
471473
options.addInAppExclude(exclude);
472474
}
473475
}
476+
477+
options
478+
.getLogs()
479+
.setEnabled(readBool(metadata, logger, ENABLE_LOGS, options.getLogs().isEnabled()));
474480
}
475481
options
476482
.getLogger()

sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1590,4 +1590,29 @@ class ManifestMetadataReaderTest {
15901590
// Assert
15911591
assertTrue(fixture.options.inAppExcludes.isEmpty())
15921592
}
1593+
1594+
@Test
1595+
fun `applyMetadata reads logs enabled and keep default value if not found`() {
1596+
// Arrange
1597+
val context = fixture.getContext()
1598+
1599+
// Act
1600+
ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
1601+
1602+
// Assert
1603+
assertFalse(fixture.options.logs.isEnabled)
1604+
}
1605+
1606+
@Test
1607+
fun `applyMetadata reads logs enabled to options`() {
1608+
// Arrange
1609+
val bundle = bundleOf(ManifestMetadataReader.ENABLE_LOGS to true)
1610+
val context = fixture.getContext(metaData = bundle)
1611+
1612+
// Act
1613+
ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
1614+
1615+
// Assert
1616+
assertTrue(fixture.options.logs.isEnabled)
1617+
}
15931618
}

0 commit comments

Comments
 (0)