chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user