Loggie 2.4.3

Loggie 2.4.3

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Sep 2023
SPMSupports SPM

Maintained by Nikola Majcen, Hrvoje Hrvoic, Filip Gulan, Dejan Skledar.



Loggie 2.4.3

Loggie

Build Status Version License Swift Package Manager Platform

Loggie

About

Loggie is a simple in-app network logging library that gives the developers and the QA testers a possibility to log network. The library is handy for easily accessible list of network trafic.

Requirements

  • Xcode 10
  • iOS 11

Installation

CocoaPods

Loggie is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'Loggie'

By default, network debugging will be available for the URLSession. If you want to use Loggie with Alamofire, please use:

pod 'Loggie/Alamofire'

Swift Package Manager

If you are using SPM for your dependency manager, add this to the dependencies in your Package.swift file:

dependencies: [
    .package(url: "https://github.com/infinum/iOS-Loggie.git")
]

Example

To run the example project, clone the repo, and run pod install from the Examples/Cocoapods directory first.

Usage

1. Register custom LoggieURLProtocol in the application:didFinishLaunchingWithOptions method:

// Swift
URLProtocol.registerClass(LoggieURLProtocol.self)
// Objective-C
[NSURLProtocol registerClass:[LoggieURLProtocol class]];

2. If you use NSURLSession (or AFNetworking/Alamofire) make sure that you use loggieSessionConfiguration:

// Swift
URLSession(configuration: URLSessionConfiguration.loggie)
// Objective-C
[NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration loggieSessionConfiguration]];

3. At the point where you want to display network logs, you can just put the following line:

// Swift
LoggieManager.shared.showLogs(from: viewController)
// Objective-C
[[LoggieManager sharedManager] showLogsFromViewController:viewController filter:nil];

You can create custom output or UI to show network logs. To get an array of all network logs just call:

// Swift
let logs = LoggieManager.shared.logs
// Objective-C
NSArray<Log *> *array = [[LoggieManager sharedManager] logs];

If you would like to receive notifications when new logs are added to the list, your app can observe LoggieDidUpdateLogs notification.

Important

Please make sure that LogieURLProtocol and loggieSessionConfiguration are not used in production builds.

Author

Filip Beć, [email protected]

Credits

Maintained and sponsored by Infinum.

Infinum logo

License

Loggie is available under the MIT license. See the LICENSE file for more information.