LumberjackConsoleでどこでもログを確認できるようにする!
実機でログを確認したい!
以前、iOSで使える柔軟なログフレームワーク〜CocoaLumberjack | Developers.IOで紹介したCocoaLumberjackは出力先や出力レベルの設定が行える柔軟なログフレームワークですが、実機で確認するときにPCに接続しなければログが確認できませんでした。実機を持ち歩きながらログを確認できたら便利ですよね。
そういうときはLumberjackConsoleを使いましょう!
LumberjackConsoleを有効にすると、アプリの画面に専用のコンソール画面が追加されます。そこから直接実行中のログを確認することができ、更に検索やフィルタまでできちゃいます!便利!
それでは、実際に使ってみましょう。
尚、以下の環境を前提に解説します。
- Mac OS X 10.9
- Xcode 5.0.2
- iOS 7
今回は短いですよー。
インストール
インストールはCocoaPodsから行いましょう。Podfileを以下のように変更してください。
Podfile
pod 'CocoaLumberjack' pod 'LumberjackConsole'
Podfileを書いたらいつものように、
pod install
を実行しましょう。
LumberjackConsoleを使う準備
iOSで使える柔軟なログフレームワーク〜CocoaLumberjack | Developers.IOでは、CocoaLumberjackの出力先として、
- DDLog
- DDTTYLogger
- DDASLLogger
- DDFileLogger
の4つを解説しました。LumberjackConsoleは新たに出力先としてアプリの画面が追加されるイメージです。なので、下記のように書くことができます。
AppDelegate.m
#import "AppDelegate.h" #import <CocoaLumberjack/DDLog.h> #import <CocoaLumberjack/DDTTYLogger.h> #import <LumberjackConsole/PTEDashboard.h> // 全レベルのログを表示する static const int ddLogLevel = LOG_LEVEL_VERBOSE; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // アプリ画面にログを出力する [DDLog addLogger:[PTEDashboard sharedDashboard].logger]; // エラーが発生した場合 DDLogError(@"エラーが発生したぞ!"); // 警告が発生した場合 DDLogWarn(@"Warning!"); // おおまかな情報を表示したりなど DDLogInfo(@"APIから〇〇情報をゲット"); // デバッグ情報 DDLogDebug(@"XXXメソッドが実行されました。"); // デバッグに必要なより細かい情報など NSString *str = @"文字列です"; DDLogVerbose(@"strの内容: %@", str); return YES; } @end
前回説明したように、ログレベルも忘れずに定義しましょう。
LumberjackConsoleを試す!
それでは実際に実行してみましょう。すると、ステータスバーの上に見覚えのないビューが追加されているはずです。左側にあるアイコンをタップすると、コンソール画面が表示されます。ソースコードに書いたログが出力されていることが確認できるはずです。
当然、テキストフィールドから文字を検索したり、ログレベルによるフィルタ機能が使えます。
まとめ
位置情報サービスのテストなどの場合は、どうしても実機を持ち歩かなければならないですよね。でもこれで、実機を持ち歩きながらログの確認ができますね!