[Xcode 8] いつの間にかConsoleのログをフィルタリングできるようになっていた

2017.03.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いつの間にかConsoleのログをフィルタリングできるようになっていた

以下のようにviewDidLoadとviewDidAppearのタイミングでprintでログを出力する場合を考えます。
※以下のコードはXcode 7.3.1(Swift 2.2)で書いたものです。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        print("viewDidLoad")
    }

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        print("viewDidAppear")
    }
}

Xcode 7.3.1の場合

Xcode 7.3.1のConsoleを見ると、⌘(command) + Fで表示される検索バーはありますが、フィルターバーはありません。 Xcode7_console

Xcode 8.2.1の場合

Xcode 8.2.1のConsoleを見るとフィルターバーが追加されていました。 Xcode8_console

フィルタリングの様子

console_log_filter

検索バーは入力した語句で検索・ハイライト表示するのに対し、フィルターバーは該当箇所のみ表示してくれます。 ログを大量に出している場合に使えそうです。

いつから出来るようになったのか

Xcode 8 Release NotesDebugging Toolsには本件に関する記載は見つけられませんでした。
Hide strange unwanted Xcode 8 logsによると、Xcode 8のbetaの時から存在していたようです。あまりに自然すぎて気づきませんでした。