LumberjackConsoleでどこでもログを確認できるようにする!

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

実機でログを確認したい!

以前、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を試す!

それでは実際に実行してみましょう。すると、ステータスバーの上に見覚えのないビューが追加されているはずです。左側にあるアイコンをタップすると、コンソール画面が表示されます。ソースコードに書いたログが出力されていることが確認できるはずです。

ios-lumberjackconsole-1

ios-lumberjackconsole-2


当然、テキストフィールドから文字を検索したり、ログレベルによるフィルタ機能が使えます。

ios-lumberjackconsole-4

ios-lumberjackconsole-3


まとめ

位置情報サービスのテストなどの場合は、どうしても実機を持ち歩かなければならないですよね。でもこれで、実機を持ち歩きながらログの確認ができますね!