print()到控制台日志的颜色

Zon*_*ame 12 printing debugging logging colors swift

代码是:

let redColor = "\u{001B}[0;31m"
var message = "Some Message"
print(redColor + message)  //This doesnt work
print("\(redColor)\(message)" //This also doesnt work
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

[0;31mSome Message
Run Code Online (Sandbox Code Playgroud)

我也读过这篇文章:使用Swift命令行工具进行颜色输出,它似乎不起作用.

我不想使用库.

Moj*_*ini 40

自 Xcode 8 起,Xcode 不支持控制台着色。

但是由于 Xcode 完全兼容 unicode,您可以使用表情符号代替!例如,您可以使用 You can use ??for warning message and for error message。(就像 Xcode 本身)

或者简单地使用这些笔记本作为颜色:

: error message
: warning message
: ok status message
: action message
: canceled status message
: Or anything you like and want to recognize immediately by color
Run Code Online (Sandbox Code Playgroud)

例如:

print("??", "Touch is not disabled as expected")
Run Code Online (Sandbox Code Playgroud)

布恩斯

使用这种方法将帮助您以最快的速度找到源代码中的日志??通过简单的眼部扫描:

演示

您可以搜索它们“”,让 Xcode 带您到那里。看看这个结果对比:

自定义表情符号搜索

表情符号搜索

对比

词搜索

词搜索


Dan*_*nyl 18

如今,Xcode调试控制台不支持着色.


小智 7

添加到@Mojtaba的答案,您可以使用它来自动记录日志:

enum LogType: String{
case error
case warning
case success
case action
case canceled
}


class Logger{

 static func log(_ logType:LogType,_ message:String){
        switch logType {
        case LogType.error:
            print("\n Error: \(message)\n")
        case LogType.warning:
            print("\n Warning: \(message)\n")
        case LogType.success:
            print("\n Success: \(message)\n")
        case LogType.action:
            print("\n Action: \(message)\n")
        case LogType.canceled:
            print("\n Cancelled: \(message)\n")
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

您可以这样使用它:

Logger.log(.error, "Invalid Credit Information")
Run Code Online (Sandbox Code Playgroud)