Skip to content

Commit f450343

Browse files
committed
Fix log level
1 parent 24d4654 commit f450343

File tree

1 file changed

+9
-17
lines changed

1 file changed

+9
-17
lines changed

Sources/LiveKit/Support/Logger.swift

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,10 @@ public struct DisabledLogger: Logger {
7474
open class OSLogger: Logger, @unchecked Sendable {
7575
private static let subsystem = "io.livekit.sdk"
7676

77-
private static let queue = DispatchQueue(label: "io.livekit.oslogger", qos: .utility)
78-
79-
private nonisolated(unsafe) static var ffiBootstrapped = false
80-
77+
private let queue = DispatchQueue(label: "io.livekit.oslogger", qos: .utility)
8178
private var logs: [String: OSLog] = [:]
8279

8380
private lazy var rtcLogger = LKRTCCallbackLogger()
84-
private var ffiLogForwardTask: Task<Void, Never>?
8581

8682
private let minLevel: LogLevel
8783

@@ -99,7 +95,6 @@ open class OSLogger: Logger, @unchecked Sendable {
9995

10096
deinit {
10197
rtcLogger.stop()
102-
ffiLogForwardTask?.cancel()
10398
}
10499

105100
public func log(
@@ -123,7 +118,7 @@ open class OSLogger: Logger, @unchecked Sendable {
123118

124119
let metadata = buildScopedMetadataString()
125120

126-
Self.queue.async {
121+
queue.async {
127122
func getOSLog(for type: Any.Type) -> OSLog {
128123
let typeName = String(describing: type)
129124

@@ -150,18 +145,15 @@ open class OSLogger: Logger, @unchecked Sendable {
150145
}
151146

152147
private func startFFILogForwarding(minLevel: LogLevel) {
153-
Self.queue.sync {
154-
if !Self.ffiBootstrapped {
155-
logForwardBootstrap(level: minLevel.logForwardFilter)
156-
Self.ffiBootstrapped = true
157-
}
158-
}
148+
Task(priority: .utility) { [weak self] in
149+
guard self != nil else { return } // don't initialize global level when releasing
150+
logForwardBootstrap(level: minLevel.logForwardFilter)
159151

160-
let ffiLog = OSLog(subsystem: Self.subsystem, category: "FFI")
152+
let ffiLog = OSLog(subsystem: Self.subsystem, category: "FFI")
153+
let ffiStream = AsyncStream(unfolding: logForwardReceive)
161154

162-
ffiLogForwardTask = Task(priority: .utility) {
163-
for await entry in AsyncStream(unfolding: logForwardReceive) {
164-
guard !Task.isCancelled else { break }
155+
for await entry in ffiStream {
156+
guard self != nil else { return }
165157

166158
let message = "\(entry.target) \(entry.message)"
167159

0 commit comments

Comments
 (0)