diff --git a/Source/AppleLogger/Data/LoggerSetting.swift b/Source/AppleLogger/Data/LoggerSetting.swift index 882c0960..a4d1e76e 100644 --- a/Source/AppleLogger/Data/LoggerSetting.swift +++ b/Source/AppleLogger/Data/LoggerSetting.swift @@ -14,9 +14,12 @@ public struct LoggerSetting { /// A variable indicating logger paginate log or not. Because of `os_log`'s 1024 length limit. public var isPaginateLogEnabled: Bool = false - /// A variable indicating logger use legacy log system or not. - public var isLegacyLogEnabled: Bool = false - + /// A variable indicating logger use legacy log subsystem header or not. + public var isLegacyLogSubsystemEnabled: Bool = false + + /// A variable indicating logger use legacy log category header or not. + public var isLegacyLogCategoryEnabled: Bool = false + /// A variable used for displaying `subsystem` value in console public let subsystem: String diff --git a/Source/AppleLogger/Implement/LogService.swift b/Source/AppleLogger/Implement/LogService.swift index 61c03e2b..3319511c 100644 --- a/Source/AppleLogger/Implement/LogService.swift +++ b/Source/AppleLogger/Implement/LogService.swift @@ -18,9 +18,16 @@ extension LogService { _ message: String, _ printBlock: (String) -> Void ) { - let header = setting.isLegacyLogEnabled - ? "[\(setting.subsystem)][\(setting.category)]\n" - : "" + let header = { + var parts: [String] = [] + if setting.isLegacyLogSubsystemEnabled { + parts.append("[\(setting.subsystem)]") + } + if setting.isLegacyLogCategoryEnabled { + parts.append("[\(setting.category)]") + } + return parts.isEmpty ? "" : parts.joined() + " " + }() guard setting.isPaginateLogEnabled, message.count > LoggerConstant.paginateSize else {