diff --git a/Images/console.png b/Images/console.png new file mode 100644 index 0000000..836046d Binary files /dev/null and b/Images/console.png differ diff --git a/Images/terminal.png b/Images/terminal.png new file mode 100644 index 0000000..1b431e8 Binary files /dev/null and b/Images/terminal.png differ diff --git a/README.md b/README.md index ff97368..388d189 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,11 @@ SLLog is a simple yet elegant swift logger. Allows you to log content to file, c 1994-06-23T15:13:00.146Z [ERROR] MyFile.swift:23 - [0.10000000000000001, 1, "A", 2017-10-04 09:55:36 +0000] ``` +<p align="center"> +<img src="Images/terminal.png" alt="Terminal" /> +<img src="Images/console.png" alt="Console" /> +</p> + ## 🔧 Installation Add the following dependency to your `Package.swift` file: @@ -129,12 +134,14 @@ For more information about terminal color take a look: `https://misc.flogisoft.c LogColor is defined as follow `init(_ terminal: String, _ console: String)` For XCode console emoticons are used as collor. ```swift -SLLog.LogType.verbose:LogColor("37m", "☑️"), -SLLog.LogType.info:LogColor("34m", "Ⓜ️"), -SLLog.LogType.debug:LogColor("92m", "✅"), -SLLog.LogType.warning:LogColor("93mm", "⚠️"), -SLLog.LogType.error:LogColor("91m", "⛔️"), +SLLog.LogType.verbose:LogColor(TerminalColor.lightGray, "☑️"), +SLLog.LogType.info:LogColor(TerminalColor.lightCyan, "Ⓜ️"), +SLLog.LogType.debug:LogColor(TerminalColor.lightGreen, "✅"), +SLLog.LogType.warning:LogColor(TerminalColor.lightYellow, "⚠️"), +SLLog.LogType.error:LogColor(TerminalColor.lightRed, "⛔️"), ``` +Use `TerminalColor` to fast access predefined colors values + ## 5 SLLogFile SLLogFile save logs to files which are create on daily basis. File names are as follows: `"yyyy-MM-dd"`. Created under `:yuorPath/sllogs` with extension `.log` diff --git a/Sources/SLLog/SLLogConsole.swift b/Sources/SLLog/SLLogConsole.swift index 2009d90..d9eca23 100644 --- a/Sources/SLLog/SLLogConsole.swift +++ b/Sources/SLLog/SLLogConsole.swift @@ -7,6 +7,26 @@ import Foundation +public class TerminalColor { + class var `default`: String { return "39m" } + class var black: String { return "30m" } + class var red: String { return "31m" } + class var green: String { return "32m" } + class var yellow: String { return "33m" } + class var blue: String { return "34m" } + class var magenta: String { return "35m" } + class var cyan: String { return "36m" } + class var lightGray: String { return "37m" } + class var darkGray: String { return "90m" } + class var lightRed: String { return "91m" } + class var lightGreen: String { return "92m" } + class var lightYellow: String { return "93m" } + class var lightBlue: String { return "94m" } + class var lightMagenta: String { return "95m" } + class var lightCyan: String { return "96m" } + class var white: String { return "97m" } +} + public struct LogColor { public init(_ terminal: String, _ console: String) { self.terminalColor = terminal @@ -40,11 +60,11 @@ public class SLLogConsole: LogHandler { public var isTerminal: Bool public var logFormat: String public var logColors: [SLLog.LogType:LogColor] = [ - SLLog.LogType.verbose:LogColor("37m", "☑️"), - SLLog.LogType.info:LogColor("34m", "Ⓜ️"), - SLLog.LogType.debug:LogColor("92m", "✅"), - SLLog.LogType.warning:LogColor("93mm", "⚠️"), - SLLog.LogType.error:LogColor("91m", "⛔️"), + SLLog.LogType.verbose:LogColor(TerminalColor.lightGray, "☑️"), + SLLog.LogType.info:LogColor(TerminalColor.lightCyan, "Ⓜ️"), + SLLog.LogType.debug:LogColor(TerminalColor.lightGreen, "✅"), + SLLog.LogType.warning:LogColor(TerminalColor.lightYellow, "⚠️"), + SLLog.LogType.error:LogColor(TerminalColor.lightRed, "⛔️"), ] private var formattert: DateFormatter = DateFormatter(dateFormat: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", diff --git a/Tests/SLLogTests/SLLogConsoleTests.swift b/Tests/SLLogTests/SLLogConsoleTests.swift index c41d522..83ba005 100644 --- a/Tests/SLLogTests/SLLogConsoleTests.swift +++ b/Tests/SLLogTests/SLLogConsoleTests.swift @@ -12,9 +12,11 @@ import Foundation class SLLogConsoleTests: XCTestCase { static var allTests = [ ("testLogs", testLogs), + ("testTerminal", testTerminal), ] func testLogs() { + SLLog.clearHandlers() SLLog.addHandler(SLLogConsole(isTerminal: false)) SLLog.v(123) SLLog.i("ABC") @@ -23,4 +25,15 @@ class SLLogConsoleTests: XCTestCase { SLLog.e([0.1,1,"A",Date()]) XCTAssert(true) } + + func testTerminal() { + SLLog.clearHandlers() + SLLog.addHandler(SLLogConsole(isTerminal: true)) + SLLog.v(123) + SLLog.i("ABC") + SLLog.d("@$#!^%") + SLLog.w(Date()) + SLLog.e([0.1,1,"A",Date()]) + XCTAssert(true) + } }