Skip to content

Commit 68c05d8

Browse files
committed
Fix log level
1 parent 5441305 commit 68c05d8

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
@@ -113,14 +113,10 @@ public struct PrintLogger: Logger {
113113
open class OSLogger: Logger, @unchecked Sendable {
114114
private static let subsystem = "io.livekit.sdk"
115115

116-
private static let queue = DispatchQueue(label: "io.livekit.oslogger", qos: .utility)
117-
118-
private nonisolated(unsafe) static var ffiBootstrapped = false
119-
116+
private let queue = DispatchQueue(label: "io.livekit.oslogger", qos: .utility)
120117
private var logs: [String: OSLog] = [:]
121118

122119
private lazy var rtcLogger = LKRTCCallbackLogger()
123-
private var ffiLogForwardTask: Task<Void, Never>?
124120

125121
private let minLevel: LogLevel
126122

@@ -138,7 +134,6 @@ open class OSLogger: Logger, @unchecked Sendable {
138134

139135
deinit {
140136
rtcLogger.stop()
141-
ffiLogForwardTask?.cancel()
142137
}
143138

144139
public func log(
@@ -162,7 +157,7 @@ open class OSLogger: Logger, @unchecked Sendable {
162157

163158
let metadata = buildScopedMetadataString()
164159

165-
Self.queue.async {
160+
queue.async {
166161
func getOSLog(for type: Any.Type) -> OSLog {
167162
let typeName = String(describing: type)
168163

@@ -189,18 +184,15 @@ open class OSLogger: Logger, @unchecked Sendable {
189184
}
190185

191186
private func startFFILogForwarding(minLevel: LogLevel) {
192-
Self.queue.sync {
193-
if !Self.ffiBootstrapped {
194-
logForwardBootstrap(level: minLevel.logForwardFilter)
195-
Self.ffiBootstrapped = true
196-
}
197-
}
187+
Task(priority: .utility) { [weak self] in
188+
guard self != nil else { return } // don't initialize global level when releasing
189+
logForwardBootstrap(level: minLevel.logForwardFilter)
198190

199-
let ffiLog = OSLog(subsystem: Self.subsystem, category: "FFI")
191+
let ffiLog = OSLog(subsystem: Self.subsystem, category: "FFI")
192+
let ffiStream = AsyncStream(unfolding: logForwardReceive)
200193

201-
ffiLogForwardTask = Task(priority: .utility) {
202-
for await entry in AsyncStream(unfolding: logForwardReceive) {
203-
guard !Task.isCancelled else { break }
194+
for await entry in ffiStream {
195+
guard self != nil else { return }
204196

205197
let message = "\(entry.target) \(entry.message)"
206198

0 commit comments

Comments
 (0)