web-dev-qa-db-ja.com

色でコンソールログに出力する

コードは次のとおりです。

let redColor = "\u{001B}[0;31m"
var message = "Some Message"
print(redColor + message)  //This doesn't work
print("\(redColor)\(message)") //This also doesn't work

出力は次のようになります。

[0;31mSome Message

私もこの投稿を読みました: Swiftコマンドラインツール)を使用したカラー出力 で、動作しないようです。

ライブラリを使いたくありません。

14
Zonily Jame

現在、Xcodeデバッグコンソールはカラーリングをサポートしていません。

18
Danyl

@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")
        }
    }

}

次のように使用できます。

Logger.log(.error, "Invalid Credit Information")
1
Lenda

@LeslieGodwinが述べたように、 XcodeColors XcodeプラグインはXcodeコンソールにカラーサポートを追加します(Xcodeバージョン8未満の場合)

1
ThomasW

Xcode 8以降、Xcodeはコンソールのカラーリングをサポートしていません。

ただし、Xcodeは完全にユニコード互換であるため、代わりにemojisを使用できます。たとえば、警告メッセージには⚠️を、エラーメッセージには????を使用できます。 (Xcode自体のように)

または、単にこれらのノートブックを色として使用します。

????: error message
????: warning message
????: ok status message
????: action message
????: canceled status message
????: Or anything you like and want to recognize immediately by color
0