Files
letro-ios/ElementX/Sources/Application/TargetConfiguration.swift
Stefan Ceriu e590035fea Bump the RustSDK to v25.05.26 and handle breaking changes
- the new sentry integration will be handled in #4145
2025-05-26 13:22:57 +03:00

56 lines
2.5 KiB
Swift

//
// Copyright 2022-2024 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
//
import MatrixRustSDK
@MainActor
enum Target: String {
case mainApp = "elementx"
case nse
case shareExtension = "shareextension"
case tests
private static var isConfigured = false
func configure(logLevel: LogLevel, traceLogPacks: Set<TraceLogPack>) {
guard !Self.isConfigured else {
return
}
switch self {
case .mainApp:
let tracingConfiguration = Tracing.buildConfiguration(logLevel: logLevel,
traceLogPacks: traceLogPacks,
currentTarget: rawValue,
filePrefix: nil)
try? initPlatform(config: tracingConfiguration, useLightweightTokioRuntime: false)
case .nse:
let tracingConfiguration = Tracing.buildConfiguration(logLevel: logLevel,
traceLogPacks: traceLogPacks,
currentTarget: rawValue,
filePrefix: rawValue)
try? initPlatform(config: tracingConfiguration, useLightweightTokioRuntime: true)
case .shareExtension:
let tracingConfiguration = Tracing.buildConfiguration(logLevel: logLevel,
traceLogPacks: traceLogPacks,
currentTarget: rawValue,
filePrefix: rawValue)
try? initPlatform(config: tracingConfiguration, useLightweightTokioRuntime: true)
case .tests:
let tracingConfiguration = Tracing.buildConfiguration(logLevel: logLevel,
traceLogPacks: traceLogPacks,
currentTarget: rawValue,
filePrefix: rawValue)
try? initPlatform(config: tracingConfiguration, useLightweightTokioRuntime: false)
}
MXLog.configure(currentTarget: rawValue)
Self.isConfigured = true
}
}