@@ -44,6 +44,8 @@ public struct JSONLogger : LogHandler {
4444 }
4545 public var metadataProvider : Logger . MetadataProvider ?
4646
47+ public let label : String
48+
4749 public let outputFileDescriptor : FileDescriptor
4850 public let lineSeparator : Data
4951 public let prefix : Data
@@ -54,11 +56,12 @@ public struct JSONLogger : LogHandler {
5456 If the encoding fails or this property is set to `false` the String value will be used. */
5557 public var tryEncodingStringConvertibles : Bool
5658
57- public static func forJSONSeq( on fd: FileDescriptor = . standardError, metadataProvider: Logger . MetadataProvider ? = LoggingSystem . metadataProvider) -> Self {
58- return Self ( fd: fd, lineSeparator: Data ( ) , prefix: Data ( [ 0x1e ] ) , suffix: Data ( [ 0x0a ] ) , metadataProvider: metadataProvider)
59+ public static func forJSONSeq( on fd: FileDescriptor = . standardError, label : String , metadataProvider: Logger . MetadataProvider ? = LoggingSystem . metadataProvider) -> Self {
60+ return Self ( label : label , fd: fd, lineSeparator: Data ( ) , prefix: Data ( [ 0x1e ] ) , suffix: Data ( [ 0x0a ] ) , metadataProvider: metadataProvider)
5961 }
6062
61- public init ( fd: FileDescriptor = . standardError, lineSeparator: Data = Data ( " \n " . utf8) , prefix: Data = Data ( ) , suffix: Data = Data ( ) , tryEncodingStringConvertibles: Bool = true , metadataProvider: Logger . MetadataProvider ? = LoggingSystem . metadataProvider) {
63+ public init ( label: String , fd: FileDescriptor = . standardError, lineSeparator: Data = Data ( " \n " . utf8) , prefix: Data = Data ( ) , suffix: Data = Data ( ) , tryEncodingStringConvertibles: Bool = true , metadataProvider: Logger . MetadataProvider ? = LoggingSystem . metadataProvider) {
64+ self . label = label
6265 self . outputFileDescriptor = fd
6366 self . lineSeparator = lineSeparator
6467 self . prefix = prefix
@@ -80,7 +83,7 @@ public struct JSONLogger : LogHandler {
8083
8184 /* We compute the data to print outside of the lock. */
8285 let line = LogLine ( level: level, message: message. description, metadata: effectiveJSONMetadata,
83- source: source, file: file, function: function, line: line)
86+ label : label , source: source, file: file, function: function, line: line)
8487 let jsonLine : Data
8588 do { jsonLine = try JSONEncoder ( ) . encode ( line) }
8689 catch {
@@ -94,6 +97,7 @@ public struct JSONLogger : LogHandler {
9497 #""JSONLogger.LogInfo":"Original metadata removed (see JSONLogger doc)","# +
9598 #""JSONLogger.LogError":" \#( String ( describing: error) . safifyForJSON ( ) ) ""# +
9699 #"},"# +
100+ #""label":" \#( label. safifyForJSON ( ) ) ","# +
97101 #""source":" \#( source. safifyForJSON ( ) ) ","# +
98102 #""file":" \#( file. safifyForJSON ( ) ) ","# +
99103 #""function":" \#( function. safifyForJSON ( ) ) ","# +
0 commit comments