A swift logging library that integrates with SwiftLog
.
Occurrence is distributed using the Swift Package Manager. To install it into a project, Use the
Xcode 'Swift Packages' menu or add it as a dependency within your Package.swift
manifest:
let package = Package(
...
dependencies: [
.package(url: "https://github.com/richardpiazza/Occurence.git", .upToNextMinor(from: "0.5.0"))
],
...
)
Then import the Occurrence packages wherever you'd like to use it:
import Occurrence
During you app initialization, call Occurrence.bootstrap()
. This will configure the Swift LoggingSystem
to use Occurrence as a LogHandler
.
As a convenience to creating a Logger
reference, use the LazyLogger
property wrapper which will create a Logger with the specific label (Logger.Subsystem
).
@LazyLogger("LoggerLabel") var logger: Logger
Occurrence also offers the ability to observe logging events as they are happening. This can also be useful in the case where entries may need to be proxied to a third-party service.
// Combine
Occurrence.logStreamer
.publisher
.sink { entry in
// process entry
}
// async/await
let task = Task {
for await entry in Occurrence.logStreamer.stream {
// process entry
}
}
link |
Stars: 0 |
Last commit: 3 weeks ago |
Introduces an AsyncStream
option to observe log entries:
let task = Task {
for await entry in Occurrence.logStreamer.stream {
// process entry
}
}
Also, a minor change to Log.Entry.description
to make reading multiple log lines easier.
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics