過濾 iOS log 的方法

平常開發 Linux 程式需要即時觀察 log, 又有太多 log 要過濾的時候, 會用

$ tail -f LOG_FILE | grep PATTERN  # 只留符合 PATTERN 的 log

或是

$ tail -f LOG_FILE | grep -v PATTERN  # 去掉符合 PATTERN 的 log

command line 的 pipe 可以無限接, 方便做很多延伸運用。

開發 Android 的時候可以透過命令列的 adb logcat, 或是 Eclipse 也有提供介面過濾 log。

開發 iOS 時比較困擾, 通俗是用 NSLog 寫到 console, 但是沒有找到用 XCode 過濾的方法。

轉念一想, 既然 iOS 裝置接上 XCode 後可以看到過去的 console log, 表示 log 存在檔案裡。直接取 log 的原始檔案, 比照在 Linux 的習慣直接對檔案操作應該比較簡單。找了一陣子找到檔案放在 $HOME/Library/Application Support/iPhone Simulator/7.1/Library/Logs/system.log, 接著套上在 Linux 的習慣, 就方便多了。

留言

這個網誌中的熱門文章

virtualbox 使用 USB 裝置

如何 git merge 更改檔名的檔案

熟悉系統工具好處多多