A swift logging library that integrates with SwiftLog.
Installation
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:
Then import the Occurrence packages wherever you’d like to use it:
import Occurrence
Usage
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
}
}
Occurrence
A swift logging library that integrates with
SwiftLog
.Installation
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:Then import the Occurrence packages wherever you’d like to use it:
Usage
During you app initialization, call
Occurrence.bootstrap()
. This will configure the SwiftLoggingSystem
to use Occurrence as aLogHandler
.As a convenience to creating a
Logger
reference, use theLazyLogger
property wrapper which will create a Logger with the specific label (Logger.Subsystem
).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.