Skip to content

Commit

Permalink
cli implementation completed
Browse files Browse the repository at this point in the history
  • Loading branch information
JulianKahnert committed Jan 16, 2020
1 parent f7f4906 commit f80cb00
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 12 deletions.
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ let package = Package(
.package(url: "https://github.com/johnsundell/shellout.git", from: "2.0.0"),
.package(url: "https://github.com/JohnSundell/Files", from: "4.0.0"),
.package(url: "https://github.com/jpsim/Yams.git", from: "2.0.0"),
.package(url: "https://github.com/apple/swift-tools-support-core.git", from: "0.0.1"),
.package(url: "https://github.com/apple/swift-tools-support-core.git", from: "0.0.0"),
.package(url: "https://github.com/apple/swift-log.git", from: "1.0.0")
],
targets: [
Expand All @@ -30,7 +30,7 @@ let package = Package(
.target(
name: "TerminalLog",
dependencies: [
"Logging", "SwiftToolsSupport-auto"
"Logging"
]
),
.target(
Expand Down
25 changes: 25 additions & 0 deletions Sources/TerminalLog/ASCIIColor.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
//
// ASCIIColor.swift
//
//
// Created by Julian Kahnert on 16.01.20.
//
// Source: https://stackoverflow.com/a/56510700/10026834

enum ASCIIColor: String {
case black = "\u{001B}[0;30m"
case red = "\u{001B}[0;31m"
case green = "\u{001B}[0;32m"
case yellow = "\u{001B}[0;33m"
case blue = "\u{001B}[0;34m"
case magenta = "\u{001B}[0;35m"
case cyan = "\u{001B}[0;36m"
case white = "\u{001B}[0;37m"
case `default` = "\u{001B}[0;0m"
}

extension DefaultStringInterpolation {
mutating func appendInterpolation<T: CustomStringConvertible>(_ value: T, color: ASCIIColor) {
appendInterpolation("\(color.rawValue)\(value)\(ASCIIColor.default.rawValue)")
}
}
15 changes: 5 additions & 10 deletions Sources/TerminalLog/TerminalLog.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
// Source: https://github.com/chrisaljoudi/swift-log-oslog

import Logging
import TSCBasic

public struct TerminalLog: LogHandler {

Expand All @@ -19,12 +18,8 @@ public struct TerminalLog: LogHandler {
public var logLevel: Logger.Level = .info

private var prettyMetadata: String?
private let terminalController: TerminalController

public init(_: String) {
guard let tc = TerminalController(stream: stdoutStream) else { fatalError("Could not create an instance of TerminalController.") }
self.terminalController = tc
}
public init(_: String) { }

public func log(level: Logger.Level, message: Logger.Message, metadata: Logger.Metadata?, file: String, function: String, line: UInt) {

Expand All @@ -42,7 +37,7 @@ public struct TerminalLog: LogHandler {
formedMessage += " -- " + combinedPrettyMetadata!
}

terminalController.write(formedMessage + "\n", inColor: getColor(for: level))
print("\(formedMessage, color: getColor(for: level))\n")
}

/// Add, remove, or change the logging metadata.
Expand All @@ -66,8 +61,8 @@ public struct TerminalLog: LogHandler {
}.joined(separator: " ")
}

private func getColor(for level: Logger.Level) -> TerminalController.Color {
let color: TerminalController.Color
private func getColor(for level: Logger.Level) -> ASCIIColor {
let color: ASCIIColor
switch level {
case .critical, .error:
color = .red
Expand All @@ -76,7 +71,7 @@ public struct TerminalLog: LogHandler {
case .info:
color = .green
default:
color = .noColor
color = .default
}
return color
}
Expand Down

0 comments on commit f80cb00

Please sign in to comment.