From 51241d0bc6ed055868098a618b13f76cba07eecf Mon Sep 17 00:00:00 2001 From: Jamil Date: Tue, 26 Sep 2023 12:41:08 -0700 Subject: [PATCH] refactor(clients): Pass log filter string to Session depending on environment (#2155) Fixes #2147 --- kotlin/android/app/build.gradle | 6 ++++++ .../firezone/android/tunnel/TunnelService.kt | 4 +--- .../clients/android/connlib/build.gradle.kts | 5 ----- .../FirezoneNetworkExtension/Adapter.swift | 19 ++++++++++++------- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/kotlin/android/app/build.gradle b/kotlin/android/app/build.gradle index 25930963e..1fbcb73d2 100644 --- a/kotlin/android/app/build.gradle +++ b/kotlin/android/app/build.gradle @@ -41,6 +41,9 @@ android { buildConfigField("Integer", "AUTH_PORT", "443") buildConfigField("String", "CONTROL_PLANE_URL", "\"wss://api.firez.one/\"") + // Docs on filter strings: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html + buildConfigField("String", "CONNLIB_LOG_FILTER_STRING", "\"connlib_android=debug,firezone_tunnel=trace,libs_common=debug,firezone_client_connlib=debug,warn\"") + resValue "string", "app_name", "\"Firezone (Dev)\"" } release { @@ -55,6 +58,9 @@ android { buildConfigField("Integer", "AUTH_PORT", "443") buildConfigField("String", "CONTROL_PLANE_URL", "\"wss://api.firezone.dev/\"") + // Docs on filter strings: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html + buildConfigField("String", "CONNLIB_LOG_FILTER_STRING", "\"connlib_android=info,firezone_tunnel=info,libs_common=info,firezone_client_connlib=info,warn\"") + resValue "string", "app_name", "\"Firezone\"" } diff --git a/kotlin/android/app/src/main/java/dev/firezone/android/tunnel/TunnelService.kt b/kotlin/android/app/src/main/java/dev/firezone/android/tunnel/TunnelService.kt index 9e676eca5..322de1676 100644 --- a/kotlin/android/app/src/main/java/dev/firezone/android/tunnel/TunnelService.kt +++ b/kotlin/android/app/src/main/java/dev/firezone/android/tunnel/TunnelService.kt @@ -144,9 +144,7 @@ class TunnelService: VpnService() { token = config.token, deviceId = deviceId(), logDir = getLogDir(), - // TODO: make logging string depend on build config #2067 - // Docs on filter strings: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html - logFilter = "connlib_android=info,firezone_tunnel=info,libs_common=info,firezone_client_connlib=info,warn", + logFilter = BuildConfig.CONNLIB_LOG_FILTER_STRING, callback = callback ) Log.d(TAG, "connlib session started! sessionPtr: $sessionPtr") diff --git a/rust/connlib/clients/android/connlib/build.gradle.kts b/rust/connlib/clients/android/connlib/build.gradle.kts index e5ba026b5..e46324a41 100644 --- a/rust/connlib/clients/android/connlib/build.gradle.kts +++ b/rust/connlib/clients/android/connlib/build.gradle.kts @@ -93,11 +93,6 @@ cargo { module = "../" libname = "connlib" targets = listOf("arm", "arm64", "x86", "x86_64") - features { - if (System.getenv("CONNLIB_MOCK") != null) { - defaultAnd(listOf("mock").toTypedArray()) - } - } } tasks.register("copyJniSharedObjectsDebug") { diff --git a/swift/apple/FirezoneNetworkExtension/Adapter.swift b/swift/apple/FirezoneNetworkExtension/Adapter.swift index 241bb80d3..e7605b806 100644 --- a/swift/apple/FirezoneNetworkExtension/Adapter.swift +++ b/swift/apple/FirezoneNetworkExtension/Adapter.swift @@ -88,6 +88,16 @@ public class Adapter { /// Starting parameters private var controlPlaneURLString: String private var token: String + + // Docs on filter strings: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html + #if DEBUG + private let logFilterString = + "connlib_apple=debug,firezone_tunnel=trace,libs_common=debug,firezone_client_connlib=debug,warn" + #else + private let logFilterString = + "connlib_apple=info,firezone_tunnel=info,libs_common=info,firezone_client_connlib=info,warn" + #endif + private var logDir: String { guard let cachesDirectory = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask) @@ -148,10 +158,7 @@ public class Adapter { self.state = .startingTunnel( session: try WrappedSession.connect( self.controlPlaneURLString, self.token, self.getDeviceId(), self.logDir, - // TODO: make logging string depend on build config #2067 - // Docs on filter strings: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html - "connlib_apple=info,firezone_tunnel=info,libs_common=info,firezone_client_connlib=info,warn", - self.callbackHandler), + self.logFilterString, self.callbackHandler), onStarted: completionHandler ) } catch let error { @@ -287,9 +294,7 @@ extension Adapter { do { self.state = .startingTunnel( session: try WrappedSession.connect( - controlPlaneURLString, token, self.getDeviceId(), logDir, - // TODO: make logging string depend on build config #2067 - "connlib_apple=info,firezone_tunnel=info,libs_common=info,firezone_client_connlib=info,warn", + controlPlaneURLString, token, self.getDeviceId(), logDir, logFilterString, self.callbackHandler), onStarted: { error in if let error = error {