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.
- iOS 12.0+ / macOS 10.13+ / tvOS 12.0+ / watchOS 5.0+ / visionOS 1.0+
- Xcode 13.4+
- Swift 5.6+
pod 'RaLog'.Package(url: "https://github.com/RakuyoKit/RaLog.git", ...)- 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.
For related content, see wiki: Quick Start.
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
RaLog is available under the MIT license. For more information, see LICENSE.
