RaLog is a lightweight, highly customizable, protocol-oriented logging framework.
By using the types provided by the framework, or custom management classes, you can quickly build your own logging component.
Prerequisites
- Devices running iOS 10 and above.
- Compiled with Xcode 10 and above.
- Swift 5.0 and above.
Install
CocoaPods
pod 'RaLog'Swift Package Manager
.Package(url: "https://github.com/RakuyoKit/RaLog.git", ...)Features
- Out of the box, easy to configure.
- Prints objects or values like
printorNSLog. - Provides two caching modes: disk cache and memory cache.
- Supports filtering log by file or log category.
- Protocol oriented, provides a very high degree of freedom to customize logging operations.
- can be used with ColaCup to view log data visually.
Usage
For related content, see wiki: Quick Start.
Preview
The following code shows how to use RaLog for simple log printing. With this code, you will get a first look at RaLog.
More functional demos, as well as complete sample code, can be found in the demo provided with the repository (in the
Examplesdirectory).
import UIKit
import RaLog
class ViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
Log.appear(self)
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
Log.disappear(self)
}
deinit {
Log.deinit(self)
}
override func viewDidLoad() {
super.viewDidLoad()
Log.debug("Note the output of the console")
Log.warning("Please note that the request is about to startοΌπ")
// Analog api request
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1)) {
if success {
Log.success("request success π₯³, content: api request succeeded")
} else {
Log.error("request failure π’, error: \("some error")")
}
}
}
}When the ViewController controller is about to be accessed, the console will output the following.
[β In `viewDidLoad()` of ViewController.swift:32 β]
[RaLog] 11:17:01:353 <πΎ Debug> : Note the output of the console
[β In `viewDidLoad()` of ViewController.swift:36 β]
[RaLog] 11:17:01:356 <β οΈ Warning> : Please note that the request is about to startοΌπ
[β In `viewDidAppear(_:)` of ViewController.swift:16 β]
[RaLog] 11:17:01:370 <π Jump> : - Appear - ViewController
[β In `viewDidLoad()` of ViewController.swift:42 β]
[RaLog] 11:17:02:453 <β
Success> : request success π₯³, content: api request succeeded
License
RaLog is available under the MIT license. For more information, see LICENSE.
