From c28bf736a267ad5d1d0f0433c4925089a82abeb7 Mon Sep 17 00:00:00 2001 From: Roman Zavarnitsyn Date: Mon, 10 Aug 2026 13:51:02 +0200 Subject: [PATCH 1/2] feat(ndk): Forward `enable_logs` option to sentry-native Add `enableLogs` field to `NdkOptions` and wire it through the JNI bridge so the Android SDK can forward the user's logs configuration to the native layer. Co-Authored-By: Claude Opus 4.6 (1M context) --- ndk/lib/src/main/java/io/sentry/ndk/NdkOptions.java | 9 +++++++++ ndk/lib/src/main/jni/sentry.c | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/ndk/lib/src/main/java/io/sentry/ndk/NdkOptions.java b/ndk/lib/src/main/java/io/sentry/ndk/NdkOptions.java index d8896367ea..41122e6acb 100644 --- a/ndk/lib/src/main/java/io/sentry/ndk/NdkOptions.java +++ b/ndk/lib/src/main/java/io/sentry/ndk/NdkOptions.java @@ -17,6 +17,7 @@ public final class NdkOptions { private float tracesSampleRate = 0; private boolean enableAppHangTracking = false; private long appHangTimeoutMillis = 5000; + private boolean enableLogs = false; public NdkOptions( @NotNull String dsn, @@ -106,4 +107,12 @@ public void setAppHangTimeoutMillis(final long appHangTimeoutMillis) { public long getAppHangTimeoutMillis() { return appHangTimeoutMillis; } + + public void setEnableLogs(final boolean enableLogs) { + this.enableLogs = enableLogs; + } + + public boolean isEnableLogs() { + return enableLogs; + } } diff --git a/ndk/lib/src/main/jni/sentry.c b/ndk/lib/src/main/jni/sentry.c index 8235a77824..36516b9c8e 100644 --- a/ndk/lib/src/main/jni/sentry.c +++ b/ndk/lib/src/main/jni/sentry.c @@ -417,6 +417,9 @@ Java_io_sentry_ndk_SentryNdk_initSentryNative( jmethodID app_hang_timeout_mid = (*env)->GetMethodID( env, options_cls, "getAppHangTimeoutMillis", "()J"); + jmethodID enable_logs_mid + = (*env)->GetMethodID(env, options_cls, "isEnableLogs", "()Z"); + (*env)->DeleteLocalRef(env, options_cls); char *outbox_path = NULL; @@ -522,6 +525,10 @@ Java_io_sentry_ndk_SentryNdk_initSentryNative( } sentry_options_set_app_hang_timeout(options, (uint64_t)app_hang_timeout); + jboolean enable_logs = (jboolean)(*env)->CallBooleanMethod( + env, sentry_ndk_options, enable_logs_mid); + sentry_options_set_enable_logs(options, enable_logs); + int rv = sentry_init(options); return (jint)rv; From 5671ad22bfc2060cd694099923bcfea7dade6274 Mon Sep 17 00:00:00 2001 From: Roman Zavarnitsyn Date: Mon, 10 Aug 2026 14:20:43 +0200 Subject: [PATCH 2/2] fix: Update API dump and add changelog entry Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 6 ++++++ ndk/lib/api/sentry-native-ndk.api | 2 ++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58155d13eb..1fb0e7a133 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +**Features**: + +- Forward `enable_logs` option through `NdkOptions` so the Android SDK can enable native structured logging. ([#1971](https://github.com/getsentry/sentry-native/pull/1971)) + ## 0.16.2 **Features**: diff --git a/ndk/lib/api/sentry-native-ndk.api b/ndk/lib/api/sentry-native-ndk.api index 35780f414e..79d8238114 100644 --- a/ndk/lib/api/sentry-native-ndk.api +++ b/ndk/lib/api/sentry-native-ndk.api @@ -101,8 +101,10 @@ public final class io/sentry/ndk/NdkOptions { public fun getTracesSampleRate ()F public fun isDebug ()Z public fun isEnableAppHangTracking ()Z + public fun isEnableLogs ()Z public fun setAppHangTimeoutMillis (J)V public fun setEnableAppHangTracking (Z)V + public fun setEnableLogs (Z)V public fun setNdkHandlerStrategy (Lio/sentry/ndk/NdkHandlerStrategy;)V public fun setTracesSampleRate (F)V }