Iterate on tracing configuration

- Add targets matrix_sdk, matrix_sdk::client and matrix_sdk::oidc
- introduce default log level.
This commit is contained in:
Benoit Marty
2023-09-06 15:04:21 +02:00
committed by Benoit Marty
parent f03cbc1c2e
commit 5f77740533
2 changed files with 8 additions and 11 deletions

View File

@@ -29,7 +29,6 @@ class TargetLogLevelMapBuilder @Inject constructor(
fun getDefaultMap(): Map<Target, LogLevel> {
return Target.entries.associateWith { target ->
defaultConfig.getLogLevel(target)
?: LogLevel.INFO
}
}
@@ -37,7 +36,6 @@ class TargetLogLevelMapBuilder @Inject constructor(
return Target.entries.associateWith { target ->
tracingConfigurationStore.getLogLevel(target)
?: defaultConfig.getLogLevel(target)
?: LogLevel.INFO
}
}
}

View File

@@ -19,27 +19,25 @@ package io.element.android.libraries.matrix.api.tracing
data class TracingFilterConfiguration(
val overrides: Map<Target, LogLevel> = emptyMap(),
) {
private val defaultLogLevel = LogLevel.INFO
// Order should matters
private val targetsToLogLevel: Map<Target, LogLevel> = mapOf(
Target.COMMON to LogLevel.INFO,
Target.HYPER to LogLevel.WARN,
Target.MATRIX_SDK_CRYPTO to LogLevel.DEBUG,
Target.MATRIX_SDK_HTTP_CLIENT to LogLevel.DEBUG,
Target.MATRIX_SDK_SLIDING_SYNC to LogLevel.TRACE,
Target.MATRIX_SDK_BASE_SLIDING_SYNC to LogLevel.TRACE,
Target.MATRIX_SDK_UI_TIMELINE to LogLevel.INFO,
)
fun getLogLevel(target: Target): LogLevel? {
return overrides[target] ?: targetsToLogLevel[target]
fun getLogLevel(target: Target): LogLevel {
return overrides[target] ?: targetsToLogLevel[target] ?: defaultLogLevel
}
val filter: String
get() {
val fullMap = targetsToLogLevel.toMutableMap()
overrides.forEach { (target, logLevel) ->
fullMap[target] = logLevel
val fullMap = Target.values().associateWith {
overrides[it] ?: targetsToLogLevel[it] ?: defaultLogLevel
}
return fullMap.map {
if (it.key.filter.isEmpty()) {
@@ -58,7 +56,10 @@ enum class Target(open val filter: String) {
MATRIX_SDK_FFI("matrix_sdk_ffi"),
MATRIX_SDK_UNIFFI_API("matrix_sdk_ffi::uniffi_api"),
MATRIX_SDK_CRYPTO("matrix_sdk_crypto"),
MATRIX_SDK("matrix_sdk"),
MATRIX_SDK_HTTP_CLIENT("matrix_sdk::http_client"),
MATRIX_SDK_CLIENT("matrix_sdk::client"),
MATRIX_SDK_OIDC("matrix_sdk::oidc"),
MATRIX_SDK_SLIDING_SYNC("matrix_sdk::sliding_sync"),
MATRIX_SDK_BASE_SLIDING_SYNC("matrix_sdk_base::sliding_sync"),
MATRIX_SDK_UI_TIMELINE("matrix_sdk_ui::timeline"),
@@ -75,13 +76,11 @@ enum class LogLevel(open val filter: String) {
object TracingFilterConfigurations {
val release = TracingFilterConfiguration(
overrides = mapOf(
Target.COMMON to LogLevel.INFO,
Target.ELEMENT to LogLevel.DEBUG
),
)
val debug = TracingFilterConfiguration(
overrides = mapOf(
Target.COMMON to LogLevel.INFO,
Target.ELEMENT to LogLevel.TRACE
)
)