In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

Overview

Dotzu

In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

Platform iOS

Carthage compatible

License MIT

Codacy Badge

The debugger tool for iOS developer. Display logs, network request, device informations, crash logs while using the app. Easy accessible with its bubble head button 🔘 . Easy to integrate in any apps, to handle development or testing apps easier. First version, there is plenty of room for improvement.

👉 Objective-c example 🐢


Usage

In the AppDelegate instanciate Dotzu manager. Be careful to use Dotzu for development purpose only.

   func application(_ application: UIApplication,
   didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        #if DEBUG
            Dotzu.sharedManager.enable()
        #endif
        return true
   }

Logs

Dotzu override print, so you can use it and see your logs. otherwise, you can add level, and get more details (file, and line) about your logs. With the Logger class provided by the framework. Get new logs count on the badge, or warning/error notification on the bubble head.

print("logs")
Logger.verbose("some logs")
Logger.info("infos")
Logger.warning("warning ! ⚠️")
Logger.error("error ❌")

Network

Dotzu use URLProcotol to logg the request. Can can add the logger on a custom URLSessionConfiguration. Works with Alamofire. Works by default with URLSession.shared. You can disabled the networking logging in the settings screen. Get notified by a 🚀 , when a request is launched.

//Your custom configuration
let configuration = URLSessionConfiguration.default

///Add the network logger on the configuration
Dotzu.sharedManager.addLogger(session: configuration)

//Use it:
//For Alamofire
let sessionManager = Alamofire.SessionManager(configuration: configuration)

//For URLSession
let session = URLSession(configuration: configuration)

Installation

CocoaPods

You can use CocoaPods to install Dotzu by adding it to your Podfile:

platform :ios, '9.0'
use_frameworks!
pod 'Dotzu'

For Objective-c use :

pod 'DotzuObjc'

Carthage

Add this to your Cartfile:

github "remirobert/Dotzu"

Manually

Drag the source files into your project.

Installation - Objective-c

CocoaPods

You can use CocoaPods to install DotzuObjc by adding it to your Podfile:

platform :ios, '9.0'
use_frameworks!
pod 'DotzuObjc'

Contact

License

Dotzu is released under the MIT License.

Comments
  • Only print statements from 1st view controller appear in dotzu log

    Only print statements from 1st view controller appear in dotzu log

    I have a tab bar controller with each view controller inside a navigation controller getting its own tab. In Xcode I get log messages that don't appear in the app (dotzu's green and black screen). It seems I only get messages from the 1st view controller, but not the 2nd. Do I need to enable in each file, or just in the AppDelegate.swift file? What else could I be doing wrong?

    opened by Mozahler 7
  • [COCOAPODS] Dotzu added, black circle & crashes

    [COCOAPODS] Dotzu added, black circle & crashes

    Hi,

    I added Dotzu (0.1) via CocoaPods & inserted Dotzu.sharedManager.displayWindow() to the AppDelegate didFinishLaunchingWithOptions method. A black disc appears when running the app on a device and clicking it causes an immediate crash (or at least, it goes back to the Springboard).

    Error follows. It seems to be missing a storyboard, maybe something that's not included in the CocoaPod? Bonne chance.

    2017-02-04 18:24:00.204 MobileNZB[12734:376722] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Manager' in bundle NSBundle </Users/ed/Library/Developer/CoreSimulator/Devices/29CB8703-06DF-41BC-B233-9484356CDA49/data/Containers/Bundle/Application/C46F1471-E990-4BA7-85D5-ACF4BD54F913/MobileNZB.app> (loaded)'
    *** First throw call stack:
    (
    	0   CoreFoundation                      0x0000000109d4ad4b __exceptionPreprocess + 171
    	1   libobjc.A.dylib                     0x00000001097ac21e objc_exception_throw + 48
    	2   UIKit                               0x00000001081f299f -[UIStoryboard name] + 0
    	3   Dotzu                               0x0000000107247d05 _TTOFCSo12UIStoryboardCfT4nameSS6bundleGSqCSo6Bundle__S_ + 85
    	4   Dotzu                               0x000000010724d3e2 _TFC5Dotzu21ManagerViewController12didTapButtonfT_T_ + 194
    	5   Dotzu                               0x000000010724f7ef _TTWC5Dotzu21ManagerViewControllerS_19LogHeadViewDelegateS_FS1_12didTapButtonfT_T_ + 63
    	6   Dotzu                               0x00000001072378eb _TFC5Dotzu11LogHeadView3tapfT_T_ + 123
    	7   Dotzu                               0x0000000107237932 _TToFC5Dotzu11LogHeadView3tapfT_T_ + 34
    	8   UIKit                               0x0000000107f61409 -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + 57
    	9   UIKit                               0x0000000107f691a8 _UIGestureRecognizerSendTargetActions + 109
    	10  UIKit                               0x0000000107f66c77 _UIGestureRecognizerSendActions + 227
    	11  UIKit                               0x0000000107f65f03 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 891
    	12  UIKit                               0x0000000107f51f7e _UIGestureEnvironmentUpdate + 1395
    	13  UIKit                               0x0000000107f519c3 -[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:] + 521
    	14  UIKit                               0x0000000107f50ba6 -[UIGestureEnvironment _updateGesturesForEvent:window:] + 286
    	15  UIKit                               0x0000000107a96c1d -[UIWindow sendEvent:] + 3989
    	16  UIKit                               0x0000000107a439ab -[UIApplication sendEvent:] + 371
    	17  UIKit                               0x000000010823072d __dispatchPreprocessedEventFromEventQueue + 3248
    	18  UIKit                               0x0000000108229463 __handleEventQueue + 4879
    	19  CoreFoundation                      0x0000000109cef761 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    	20  CoreFoundation                      0x0000000109cd498c __CFRunLoopDoSources0 + 556
    	21  CoreFoundation                      0x0000000109cd3e76 __CFRunLoopRun + 918
    	22  CoreFoundation                      0x0000000109cd3884 CFRunLoopRunSpecific + 420
    	23  GraphicsServices                    0x000000010ff3aa6f GSEventRunModal + 161
    	24  UIKit                               0x0000000107a25c68 UIApplicationMain + 159
    	25  MobileNZB                           0x0000000106d2c97f main + 111
    	26  libdyld.dylib                       0x000000010ab7268d start + 1
    )
    libc++abi.dylib: terminating with uncaught exception of type NSException
    (lldb) ```
    bug 
    opened by edasque 6
  • defect - when I switch to errors I'm still seeing counter increment.

    defect - when I switch to errors I'm still seeing counter increment.

    screen shot 2017-03-28 at 3 50 06 pm

    I wonder if it would make most sense if inner circle could be used as a kind of reg / orange /blue / grey... just an idea. docs_190726c_pie_chart_en

    I think the design would sit with apps better if the dark grey background opacity is weak / almost transparent 30%. that way it's hidden from app. (awesome job on this btw)

    opened by wwe-johndpope 5
  • Crash sessions don't capture all null dereferences on device

    Crash sessions don't capture all null dereferences on device

    Hi,

    thanks for an incredible project - a real tour de force.

    I have noticed that certain crashes in my application are not caught by Dotzu when run on device. Replacing this line with:

        private func crashSigbart() {
            let a : Int? = nil
            _ = a!  
       }
    

    produces no crash report on restart.

    Would someone be able to verify this?

    many thanks,

    Daniel

    opened by DanielAsher 4
  • swift 3 - crash - fix for bundle

    swift 3 - crash - fix for bundle

    N.B. When using pod install on new repo that is not named remi.robert.Dotzu - sample project should crash with missing storyboard. It appears all the hardcoded references to bundle "remi.robert.Dotzu" are not working on xcode 8.2 / swift 3 - cocoapods 1.2

    ManagerViewController.swift

     func didTapButton() {
            Dotzu.sharedManager.displayedList = true
            let podBundle = Bundle(for: ManagerViewController.self) // <- this line 
            let storyboard = UIStoryboard(name: "Manager", bundle: podBundle)
    // otherwise  this crashes -  let storyboard = UIStoryboard(name: "Manager", bundle: Bundle(identifier: "remi.robert.Dotzu"))
            guard let controller = storyboard.instantiateInitialViewController() else {
                return
            }
            self.present(controller, animated: true, completion: nil)
        }
    

    Could not load the "filter" image referenced from a nib in the bundle with identifier "org.cocoapods.Dotzu" 2017-03-07 10:07:52.237 wwe-redesign-ios[30502:1861796] Could not load the "tabbar-logs" image referenced from a nib in the bundle with identifier "org.cocoapods.Dotzu" 2017-03-07 10:07:52.238 wwe-redesign-ios[30502:1861796] Could not load the "tabbar-logs" image referenced from a nib in the bundle with identifier "org.cocoapods.Dotzu" 2017-03-07 10:07:52.245 wwe-redesign-ios[30502:1861796] Could not load the "tabbar-app" image referenced from a nib in the bundle with identifier "org.cocoapods.Dotzu" 2017-03-07 10:07:52.246 wwe-redesign-ios[30502:1861796] Could not load the "tabbar-app" image referenced from a nib in the bundle with identifier "org.cocoapods.Dotzu" 2017-03-07 10:07:52.250 wwe-redesign-ios[30502:1861796] Could not load the "tabbar-settings" image referenced from a nib in the bundle with identifier "org.cocoapods.Dotzu" 2017-03-07 10:07:52.251 wwe-redesign-ios[30502:1861796] Could not load the "tabbar-settings" image referenced from a nib in the bundle with identifier "org.cocoapods.Dotzu" 2017-03-07 10:07:56.177 wwe-redesign-ios[30502:1861796] Could not load the "bugs-icon" image referenced from a nib in the bundle with identifier "org.cocoapods.Dotzu"

    opened by johndpope-karhoo 4
  • Allow public function to disable console logging.

    Allow public function to disable console logging.

    I'm using XCGLogger in conjunction with Dotzu (#6) and have disabled default console logging to avoid duplicates here.

    A better solution would be to allow a public function to configure this. Would you like a PR?

    thanks, Daniel

    opened by DanielAsher 3
  • Adding to project freezes user input, does not show dotzu floating button

    Adding to project freezes user input, does not show dotzu floating button

    It's weird because we're using this in 2 different projects.

    The first one is an older project that has been in development for 2 years. When i follow instructions to add to the AppDelgate via Dotzu.sharedManager.displayWindow(), it

    1. does not show dotzu manager
    2. seems to freeze all user input on the screen (UI interaction works, b/c i set an animation and that still works, just all user input is gone.

    On a newer project, that i just created last week, calling Dotzu.sharedManager.displayWindow() works.

    How can i debug what the issue is? It looks like when i hit Xcode's Debug | Print View Hierarchy I see:

    image And when i print of description of UIWindow i get:

    po 0x7fe6fc40d450 <UIWindow: 0x7fe6fc40d450; frame = (0 0; 414 736); gestureRecognizers = <NSArray: 0x6180000527e0>; layer = <UIWindowLayer: 0x618000028640>>

    After casting it:

    (lldb) expr -l Swift -- print($nav) <UIWindow: 0x7fe6fc40d450; frame = (0 0; 414 736); gestureRecognizers = <NSArray: 0x6180000527e0>; layer = <UIWindowLayer: 0x618000028640>>

    I debug, and everything seems right:

    0.0
    (lldb) expr -l Swift -- print($nav.screen)
    <UIScreen: 0x7fe6fc700280; bounds = {{0, 0}, {414, 736}}; mode = <UIScreenMode: 0x61000003f720; size = 1242.000000 x 2208.000000>>
    (lldb) expr -l Swift -- print($nav.makeKeyAndVisible)
    (Function)
    (lldb) expr -l Swift -- print($nav.rootViewController)
    Optional(<OrdersViewLite.NavigationController: 0x7fe6fd00fa00>)```
    opened by jonchui 3
  • Consider allowing show / hide window functionality

    Consider allowing show / hide window functionality

    Hi again,

    I require show / hide window functionality to use with the excellent SwiftTweaks project. This allows a more advanced TestFlight user to monitor and understand the app. I have a trivial implementation here but would be very pleased to discuss a PR if you were open to it.

    thanks again and have a wonderful day!

    Daniel

    enhancement 
    opened by DanielAsher 2
  • Network - don't scroll to bottom after popping detail view

    Network - don't scroll to bottom after popping detail view

    Let's say I've got 10000 network requests recorded in the Network tab. I want to investigate top 10 (the oldest ones). I need to scroll all the way up (by the way - tap on the status bar to scroll to the top doesn't work), select a cell, read everything in the details view. Then I tap back and it takes me to the list, but it scrolls all the way down to the newest records, and I have to scroll all the way up once again, same for the next request etc.

    bug enhancement 
    opened by natalia-osa 2
  • minimum deployment target

    minimum deployment target

    hello, can you support minimum deployment target iOS 9.0? i use carthage to install Dotzu when i use on my project when i build i got alert message Module files minimum deployment target is iOS 10.2 v10.2...

    opened by dars 2
  • Make manager view optional

    Make manager view optional

    Thank you for all your work for awesome logging tool!

    In this PR, I have added option to use Dotzu without Bubble Head.

    We are using Dotzu with some in-house debugging tools. We were looking to manage all the debugging tools at one place.

    Summary:

    • Made Manager window & controller optional
    • Created Dotzu config to extend setup options in the future.
    • Opened access to ManagerViewController from DotzuManager
    • Updated example with config
    • Updated ReadMe to show usage of config

    Thanks!

    opened by k-thorat 1
  • SSL certificate pinning conflict

    SSL certificate pinning conflict

    When using SSL pinning (disabling SSL certificate verification) and logging network requests with Dotzu, the pinning is ignored and the requests are accused to be not verified. I've tried to resolve this tweking the pod around but didn't find any solution.

    Dotzu.sharedManager.addLogger(session: configuration)

    opened by CarlinhaCamargo 0
  • Extend Device struct with new iOS devices.

    Extend Device struct with new iOS devices.

    Thanks for wonderful tool. What I've noticed that Device struct currently doesn't include latest iOS devices. iPhone X for example. Suppose it might be useful to add them.

    Thanks if you will find some time to have a look.

    opened by EugeneEl 0
  • memory woes - nsarchiver

    memory woes - nsarchiver

    need to fix this

    related https://github.com/remirobert/Dotzu-Objective-c/issues/4

    screen shot 2017-11-26 at 10 42 42 am

    
    ◽️ [2017-11-26 15:42:20] SFQuery.m.+[SFQuery q:nextRecordsUrl:sObject:cache:callback:][26] : query SELECT Id,OwnerId,IsDeleted,Name,CreatedDate,CreatedById,LastModifiedDate,LastModifiedById,SystemModstamp,LastViewedDate,LastReferencedDate,FieldStorm__Description__c,FieldStorm__Hide_Survey_Name__c,FieldStorm__Industry__c,FieldStorm__Submit_Response__c,FieldStorm__Survey_Container_CSS__c,FieldStorm__Survey_Header__c,FieldStorm__Thank_You_Text__c,FieldStorm__Title__c,FieldStorm__URL__c,FieldStorm__thankYouLink__c,FieldStorm__thankYouText__c,IsEnabled__c,Customer_Type__c,IsRequired__c FROM FieldStorm__Survey__c ORDER BY Id DESC
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6594560) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6606848) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6615040) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6627328) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6635520) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6647808) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6656000) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6668288) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6676480) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6688768) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6696960) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6709248) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6717440) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=6725632) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=5382144) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=5382144) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    ◽️ [2017-11-26 15:42:20] SFDataEnvironment+SQLSync.m.-[SFDataEnvironment(sync) fetchCountBySObject:queueSoql:]_block_invoke[551] : result:{
        done = 1;
        records =     (
        );
        totalSize = 5;
    }
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=3792896) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=3796992) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=4022272) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=4030464) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=4263936) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=4272128) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=4722688) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    FieldStorm(19061,0xb030a000) malloc: *** mach_vm_map(size=3780608) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    2017-11-26 10:42:20.220 FieldStorm[19061:1469979] *** Terminating app due to uncaught exception 'NSMallocException', reason: '*** -[NSConcreteMutableData appendBytes:length:]: unable to allocate memory for length (3777313)'
    *** First throw call stack:
    (
    	0   CoreFoundation                      0x0756b494 __exceptionPreprocess + 180
    	1   libobjc.A.dylib                     0x06823e02 objc_exception_throw + 50
    	2   CoreFoundation                      0x0756b3bd +[NSException raise:format:] + 141
    	3   Foundation                          0x02ab39ae _NSMutableDataGrowBytes + 764
    	4   Foundation                          0x02aac0b4 -[NSConcreteMutableData appendBytes:length:] + 434
    	5   CoreFoundation                      0x07462d2f CFDataAppendBytes + 175
    	6   CoreFoundation                      0x0745ba77 writeBytes + 231
    	7   CoreFoundation                      0x0745a32b bufferWrite + 91
    	8   CoreFoundation                      0x0745b1c4 _appendString + 580
    	9   CoreFoundation                      0x0745a46b _appendObject + 75
    	10  CoreFoundation                      0x07510821 __CFBinaryPlistWriteOrPresize + 561
    	11  CoreFoundation                      0x074cbe48 __CFBinaryPlistWriteToStreamWithOptions + 40
    	12  Foundation                          0x02ac36c5 -[NSKeyedArchiver finishEncoding] + 640
    	13  Foundation                          0x02ac0f8b +[NSKeyedArchiver archivedDataWithRootObject:] + 229
    	14  Dotzu                               0x05e5911f _T05Dotzu12StoreManagerC11archiveLogs33_6967D8E67826B10122FB2AE77CBE0B9ALLySayxG4logs_tF + 159
    	15  Dotzu                               0x05e593ba _T05Dotzu12StoreManagerC3addyx3log_tF + 138
    	16  Dotzu                               0x05e1d662 _T05Dotzu6LoggerC9handleLog33_136BBB0DD6D6F1C0603D146F86879E0ALLySayypGd_AA0D5LevelO5levelSSSg4fileAJ8functionSiSg4linetFZyycfU0_ + 946
    	17  Dotzu                               0x05e1dceb _T05Dotzu6LoggerC9handleLog33_136BBB0DD6D6F1C0603D146F86879E0ALLySayypGd_AA0D5LevelO5levelSSSg4fileAJ8functionSiSg4linetFZyycfU0_TA + 171
    	18  Dotzu                               0x05dd2938 _T0Ix_IyB_TR + 40
    	19  libdispatch.dylib                   0x084539e3 _dispatch_call_block_and_release + 15
    	20  libdispatch.dylib                   0x084716ed _dispatch_client_callout + 14
    	21  libdispatch.dylib                   0x0845932e _dispatch_queue_drain + 1065
    	22  libdispatch.dylib                   0x08458c79 _dispatch_queue_invoke + 563
    	23  libdispatch.dylib                   0x0845a722 _dispatch_root_queue_drain + 442
    	24  libdispatch.dylib                   0x0845a561 _dispatch_worker_thread3 + 108
    	25  libsystem_pthread.dylib             0x08799fdc _pthread_wqthread + 1356
    	26  libsystem_pthread.dylib             0x08799a6a start_wqthread + 34
    )
    libc++abi.dylib: terminating with uncaught exception of type NSException
    (lldb) 
    
    opened by johndpope 1
Owner
Remi ROBERT
Remi ROBERT
Twitter Logging Service is a robust and performant logging framework for iOS clients

Twitter Logging Service Background Twitter created a framework for logging in order to fulfill the following requirements: fast (no blocking the main

Twitter 290 Nov 15, 2022
A logging backend for swift-log that sends logging messages to Logstash (eg. the ELK stack)

LoggingELK LoggingELK is a logging backend library for Apple's swift-log The LoggingELK library provides a logging backend for Apple's apple/swift-log

null 17 Nov 15, 2022
A simple Swift package for measuring and reporting the time taken for operations

Duration A simple Swift package for measuring and reporting the time taken for operations. It is derived from a version for Playgrounds that I blogged

Swift Studies 325 Nov 6, 2022
A modern, flexible logging tool

NSLogger NSLogger is a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android. It rep

Florent Pillet 5k Dec 22, 2022
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.

Please star this github repository to stay up to date. TraceLog Introduction TraceLog is a highly configurable, flexible, portable, and simple to use

Tony Stone 52 Oct 28, 2022
XCLog is a Swift extension that helps you print something in console when debugging your projects.

XCLog XCLog is a Swift extension that helps you print something in console when debugging your projects. Installation Open Xcode > File > Add Packages

null 1 Jan 9, 2022
Elegant and extensive logging facility for OS X & iOS (includes database, Telnet and HTTP servers)

Overview XLFacility, which stands for Extensive Logging Facility, is an elegant and powerful logging facility for OS X & iOS. It was written from scra

Pierre-Olivier Latour 315 Sep 7, 2022
A fast & simple, yet powerful & flexible logging framework for Mac and iOS

CocoaLumberjack CocoaLumberjack is a fast & simple, yet powerful & flexible logging framework for macOS, iOS, tvOS and watchOS. How to get started Fir

null 12.9k Jan 9, 2023
CleanroomLogger provides an extensible Swift-based logging API that is simple, lightweight and performant

CleanroomLogger CleanroomLogger provides an extensible Swift-based logging API that is simple, lightweight and performant. The API provided by Cleanro

null 1.3k Dec 8, 2022
Logging utility for Swift and Objective C

Swell - Swift Logging A logging utility for Swift and Objective C. ##Features Turn on logging during development, turn them off when building for the

Hubert Rabago 361 Jun 29, 2022
Simple, lightweight and flexible debug logging framework written in Swift

AELog Simple, lightweight and flexible debug logging minion written in Swift If you find yourself in upcoming statements, then you probably want to us

Marko Tadić 28 Jul 6, 2022
Simple logging for simples needs.

Simple logging for simples needs.

native.dev.br 0 May 30, 2022
Convenient & secure logging during development & release in Swift 3, 4 & 5

Colorful, flexible, lightweight logging for Swift 3, Swift 4 & Swift 5. Great for development & release with support for Console, File & cloud platfor

SwiftyBeaver 5.6k Jan 4, 2023
Class for logging excessive blocking on the main thread

Watchdog Class for logging excessive blocking on the main thread. It watches the main thread and checks if it doesn’t get blocked for more than define

Wojtek Lukaszuk 1.8k Dec 6, 2022
Willow is a powerful, yet lightweight logging library written in Swift.

Willow Willow is a powerful, yet lightweight logging library written in Swift. Features Requirements Migration Guides Communication Installation Cocoa

Nike Inc. 1.3k Nov 16, 2022
Swift Logging Utility for Xcode & Google Docs

QorumLogs Swift Logging Utility in Xcode & Google Docs

Goktug Yilmaz 777 Jul 15, 2022
A lightweight logging framework for Swift

HeliumLogger Provides a lightweight logging implementation for Swift which logs to standard output. Features Logs output to stdout by default. You can

Kitura 174 Nov 30, 2022
A lightweight logging framework for Swift

HeliumLogger Provides a lightweight logging implementation for Swift which logs to standard output. Features Logs output to stdout by default. You can

Kitura 174 Nov 30, 2022
A flexible logging library written in Swift

Puppy Puppy is a flexible logging library written in Swift ?? It supports multiple transports(console, file, syslog, and oslog) as loggers. It not onl

Koichi Yokota 92 Dec 29, 2022