/LumberjackConsole

On-device CocoaLumberjack console with support for search, adjust levels, copying and more.

Primary LanguageObjective-CApache License 2.0Apache-2.0

LumberjackConsole

Platform: iOS Version: 3.6.0 License: Apache 2.0 Dependency Status Build Status

On-device CocoaLumberjack console with support for search, adjust levels, copying and more.

Screenshot 1 Screenshot 2

Features

  • Sypport dynamic log levels.
  • Support log modules.
  • Auto-enable XcodeColors when present.
  • No need to declare ddLogLevel.
  • Filter messages by level and text contents.
  • Expand/collapse long messages.
  • Long tap to copy log messages.
  • Insert markers.
  • Clear console.

ToDo

  • Improve rotation support.
  • Read crash reports.
  • Keep scrolled area when not at the top.

Demo

A demo project is included in the repository.

Installation

Simply add pod 'LumberjackConsole' to your CocoaPods' Podfile.

platform :ios, '8.0'
use_frameworks!

pod 'CocoaLumberjack'
pod 'LumberjackConsole', :configurations => ['Debug']

# Optional for dynamic log levels
pod 'NBULog'

Documentation

http://cocoadocs.org/docsets/LumberjackConsole/

Usage

a) Dashboard Logger

Swift

Import the module:

import LumberjackConsole

Add its logger for testing builds:

#if !PRODUCTION
    PTEDashboard.shared().show()
#endif

Objective-C

Import the dashboard header:

#import <LumberjackConsole/PTEDashboard.h>
#import <CocoaLumberjack/CocoaLumberjack.h> //if you see error Implicit declaration of function 'DDLogInfo' is invalid in C99

Add its logger for testing builds:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#ifndef PRODUCTION
        // Add the console dashboard for testing builds
        [PTEDashboard.sharedDashboard show];                // <- If not using NBULog
        // [NBULog addDashboardLogger];                     // <- If using NBULog
        
        DDLogInfo(@"Added console dashboard");
#endif
        
        // ...
}

b) Embeded Console

Simply add a PTEConsoleTableView instance to your view hierarchy.

More

When coupled with NBULog you can dynamically adjust log levels from within the dashboard!

Screenshot 3

Your log level settings are saved to NSUserDefaults.

License

Copyright 2013-2017 PTEz.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. 
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.