diff --git a/CHANGELOG.md b/CHANGELOG.md index ec31d4c5c4..fc532d31ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ **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)) - Report enabled Qt and WER integrations in event SDK metadata (`sdk.integrations`) alongside the configured crash backend. ([#1969](https://github.com/ getsentry/sentry-native/pull/1969)) 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 } 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;