Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/remirobert/Dotzu

:iphone::eyes: In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.
https://github.com/remirobert/Dotzu

application crash-reporting ios logger logging network network-monitoring swift swift3

Last synced: 9 days ago
JSON representation

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

Awesome Lists containing this project

README

        



# Dotzu

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

Platform iOS
Carthage compatible
License MIT

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/972a1a6db90348bfb7e072cd3e0705ac)](https://www.codacy.com/app/remi.robert/Dotzu?utm_source=github.com&utm_medium=referral&utm_content=remirobert/Dotzu&utm_campaign=badger)

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](https://github.com/remirobert/Dotzu-Objective-c) 🐢



## Usage

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

```swift
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.



```swift
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.



```swift
//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](http://cocoapods.org/)
You can use [CocoaPods](http://cocoapods.org/) to install `Dotzu` by adding it to your `Podfile`:

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

**For Objective-c use :**

```ruby
pod 'DotzuObjc'
```

### [Carthage](https://github.com/Carthage/Carthage)

Add this to your Cartfile:

```ruby
github "remirobert/Dotzu"
```

### Manually

Drag the source files into your project.

## Installation - Objective-c

### [CocoaPods](http://cocoapods.org/)
You can use [CocoaPods](http://cocoapods.org/) to install `DotzuObjc` by adding it to your `Podfile`:

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

## Contact

* Rémi ROBERT
* Twitter: [@remi936](https://twitter.com/remi936)

## License

Dotzu is released under the [MIT License](http://www.opensource.org/licenses/MIT).