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
print
orNSLog
. - 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
Examples
directory).
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.