NSLoggerを調べる必要があります。NSLog では実行ごとに表示される内容を選択できませんが、NSLogger では選択できます。NSLogger は、デバイス (またはシミュレーター) からの出力を OS X の独自のウィンドウに表示します。
基本的に施設とレベルの概念を出力に追加します。Unix ウィザードは、この比較で誤りを見つけるかもしれませんが、syslog と非常によく似ていると思います。NSLogger ビューアを使用すると、必要な最小レベルも満たしている 1 つ以上のファシリティ (定義) の出力メッセージを表示できます。
マクロは、出力ウィンドウに表示されるものを定義します。ここに抜粋があります:
#ifdef DEBUG
#define LOG_GENERAL(level, ...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"general",level,__VA_ARGS__)
#else
#define LOG_GENERAL(...) do{}while(0)
#endif
DEBUG がオフの場合、メッセージは表示されません。オンの場合、コードに LOG_GENERAL() ステートメントがあり、ビューアーが機能「一般」を表示するように構成されていて、レベルが表示されるのに十分である場合、メッセージが表示されます。
それは信じられないほど柔軟で、私はそれがとても好きです。プロジェクトに追加するには、約 5 分かかります。詳細とダウンロードについては、上記のリンク先の github ページをご覧ください。
(これは MPAVController がコンソールをメッセージでいっぱいにする問題を解決しませんが、必要なメッセージを新しいウィンドウに表示し、関心のあるものを制御、フィルタリング、および解釈することをはるかに簡単にします。)