Need help with GHConsole?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

415 Stars 81 Forks MIT License 79 Commits 3 Opened issues


An elegant and easy way to show a console in your app. 一种优雅简单的方式在app中显示控制台。

Services available


Need anything else?

Contributors list

# 106,891
64 commits
# 343,291
6 commits
# 483,285
1 commit

Alt text



An easy and wireless way to get what you had logged and wanted to see in your App.


Swift Version Swift Version Plaform License MIT

Alt text


Simply add GHConsole folder with files to your project.

Usage example

Simply start GHConsole in your App. GHConsole view will be added above the key window as a view.

You can find example projects here

Start Log on GHConsole

You just only initialize GHConsole in your appDelegate.m When your App are launching. Objective-C usage

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   [[GHConsole sharedConsole]startPrintLog];
    return YES;

Swift usage

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        return true

And then, you can use GGLog( ) like NSLog( )

Objective-C usage

GGLog(@"This is some log I just want to show in GHConsole");

NSDictionary *parameterDict = @{@"paraKey1":@"paraValue1", @"paraKey2":@"paraValue2", @"paraKey3":@"paraValue2" } GGLog(@"%@",parametersDict);

//if you want to see the responsJSon from the API, you can just use GGLog( ) like NSLog( ) here. GGLog(@"%@",responsJSON);

Swift usage

GGLog("This is a log I just want to show in GHConsole")

let parameterDict = ["paraKey1":"paraValue1","paraKey2":"paraValue2","paraKey3":"paraValue3"] as [String:Any] GGLog("(parameterDict)")

//if you want to see the responsJSon from the API, you can just use GGLog( ) like NSLog( ) here. GGLog("if you want to see the responsJSon from the API, you can just use GGLog( ) like NSLog( ) here!")

When you double tap The GHConsole in your app and then the appearance of it just like this. Alt text

Stop Logging

Call when you're done with GHConsole.

Objective-C usage

[GHConsole shareConsole]stop];

Swift usage


if you don't want to see the GHConsole,you just need to annotate it.

//[[GHConsole sharedConsole]startPrintLog];


GHConsole is based on

in C. Better performance to NSLog.

The time consuming of printing a string for 10000 times

Alt text

Testing Environment: iPhone 6

System Version: iOS 11.2.5

Unit of Time : ms


  • GHConsole is at an inconspicuous position in your app.Multiple gesture was added in GHConsole. double tap to make it Full Screen and back.

  • This framework only contains two files



  • Easy to use and uninstall.

  • you can see the number of the line for your GGLog( ) and function name clearly in GHConslole.

  • A clear button on GHConsole can remove some useless log.

  • A save button and load button can save the log, and read the log you have saved. It's easy to check the problem in your apps.

  • At release mode, there will be no more any log output in your console.

  • absolutely thread safe.


Sorry. The GHConsole is too easy to have any configuration. If you have any good idea or demand you can tell me at my github or email.


  • iOS 7.0+

Contributors List:

zhoushaowen -

Kane -


Liao Guanghui - Blog - FB

GHConsole is available under the MIT license. See the LICENSE file for more info.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.