From e6f513852383b3c45c6170f987b44f2fbe026630 Mon Sep 17 00:00:00 2001 From: Wojciech Nagrodzki <278594+wnagrodzki@users.noreply.github.com> Date: Tue, 21 Aug 2018 19:46:08 +0200 Subject: [PATCH] Converted LogLevel to Int based enum --- Logger/Logger.swift | 25 ++++++++++++++++------ Logger/Loggers/ConsoleLogger.swift | 2 +- Logger/Loggers/DiskLogger/DiskLogger.swift | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/Logger/Logger.swift b/Logger/Logger.swift index 5872896..128ba6a 100644 --- a/Logger/Logger.swift +++ b/Logger/Logger.swift @@ -58,22 +58,35 @@ public protocol Logger { } /// Log level controls the conditions under which a message should be logged. -public enum LogLevel: String { +public enum LogLevel: Int { /// Use this level to capture information about things that might result a failure. - case `default` = "Default" + case `default` /// Use this level to capture information that may be helpful, but isn’t essential, for troubleshooting errors. - case info = "Info" + case info /// Use this level to capture information that may be useful during development or while troubleshooting a specific problem. - case debug = "Debug" + case debug /// Use this log level to capture process-level information to report errors in the process. - case error = "Error" + case error /// Use this level to capture system-level or multi-process information to report system errors. - case fault = "Fault" + case fault +} + +extension LogLevel: LogStringConvertible { + + public var logDescription: String { + switch self { + case .default: return "Default" + case .info: return "Info" + case .debug: return "Debug" + case .error: return "Error" + case .fault: return "Fault" + } + } } extension Logger { diff --git a/Logger/Loggers/ConsoleLogger.swift b/Logger/Loggers/ConsoleLogger.swift index dd96f37..a103bd8 100644 --- a/Logger/Loggers/ConsoleLogger.swift +++ b/Logger/Loggers/ConsoleLogger.swift @@ -36,6 +36,6 @@ public final class ConsoleLogger: Logger { } public func log(time: Date, level: LogLevel, location: String, object: String) { - print(formatter.string(from: time) + " <" + level.rawValue + "> " + location + " " + object) + print(formatter.string(from: time) + " <" + level.logDescription + "> " + location + " " + object) } } diff --git a/Logger/Loggers/DiskLogger/DiskLogger.swift b/Logger/Loggers/DiskLogger/DiskLogger.swift index 33270b5..7e5c944 100644 --- a/Logger/Loggers/DiskLogger/DiskLogger.swift +++ b/Logger/Loggers/DiskLogger/DiskLogger.swift @@ -51,7 +51,7 @@ public final class DiskLogger: Logger { } public func log(time: Date, level: LogLevel, location: String, object: String) { - let message = formatter.string(from: time) + " <" + level.rawValue + "> " + location + " " + object + "\n" + let message = formatter.string(from: time) + " <" + level.logDescription + "> " + location + " " + object + "\n" log(message) }