Files
steipete--codexbar/Sources/CodexBarCore/Logging/CompositeLogHandler.swift
T
2026-07-13 12:22:33 +08:00

41 lines
1.0 KiB
Swift

import Logging
struct CompositeLogHandler: LogHandler {
private var primary: any LogHandler
private var secondary: any LogHandler
init(primary: any LogHandler, secondary: any LogHandler) {
self.primary = primary
self.secondary = secondary
}
var metadata: Logger.Metadata {
get { self.primary.metadata }
set {
self.primary.metadata = newValue
self.secondary.metadata = newValue
}
}
var logLevel: Logger.Level {
get { self.primary.logLevel }
set {
self.primary.logLevel = newValue
self.secondary.logLevel = newValue
}
}
subscript(metadataKey metadataKey: String) -> Logger.Metadata.Value? {
get { self.primary[metadataKey: metadataKey] }
set {
self.primary[metadataKey: metadataKey] = newValue
self.secondary[metadataKey: metadataKey] = newValue
}
}
func log(event: LogEvent) {
self.primary.log(event: event)
self.secondary.log(event: event)
}
}