In app event log recorder/viewer for debugging.
You can record events to use built-in EventBottleFileEventDataStore
.
let eventDataStore = EventBottleFileEventDataStore.shared
eventDataStore.putEvent("event1", labels: ["activity", "test"])
eventDataStore.putEvent(["event": "event2", "count": 42], labels: ["activity", "test", "count"])
Create EventBottleViewController
instance and present it.
If you want to look filtered events, input keyword (Partial Match) or label (Exact Match) to search field.
The EventDataSource
is data source of events for event log viewer.
The role of EventDataSource
is produce some Event
structs from File, DB, or other sources.
struct Event {
let date: Date
let labels: [String]
let body: String
}
You can create custom event data sources using EventDataSource
protocol.
If you know data structure of data sources and convert log to Event
structure, you can show these events on EventBottleViewController
.
let eventDataSource = CustomEventDataSource()
let viewController = EventBottleViewController(eventDataSource: eventDataSource)
present(viewController, animated: true) // in your application's secret!
The EventDataStore
is data store of your application event logs.
The role of EventDataStore
is provide interface for storing events and store event logs to File, DB or other data stores.
You can create custom event data store using EventDataStore
protocol.
- iOS 10+
- Swift 5
github "slightair/EventBottle"
pod 'EventBottle'
Tomohiro Moro, arksutite@gmail.com
EventBottle is available under the MIT license. See the LICENSE file for more info.