refactor(clients): Pass log filter string to Session depending on environment (#2155)

Fixes #2147
This commit is contained in:
Jamil
2023-09-26 12:41:08 -07:00
committed by GitHub
parent 075d03432f
commit 51241d0bc6
4 changed files with 19 additions and 15 deletions

View File

@@ -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\""
}

View File

@@ -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")

View File

@@ -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") {

View File

@@ -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 {