48fdc144c1ecd19b052ae58b0dbfe67d61fea250
The unified logging system (aka OSLog) expects a OSLogMessage and does not allow just passing in a string variable. Instead the variable has to be interpolated into a string literal, which sets the default privacy setting to 'private' and hence reducts the whole message. This commit sets the privacy setting to 'public'.
SwiftLog OSLog
A OSLog ([unified logging][unfied-logging]) backend implementation for SwiftLog (swift-log).
It maps the label parameter of [SwiftLog (swift-log) to the subsystem and
category parameter of OSLog. It even allows the use of the bundle
identifier - if any as a value for the subsystem parameter.
Installation
To use this library in your project, add it to the package dependencies:
.package(url: "https://github.com/astzweig/swift-log-oslog", from: "1.0.0")
and add it as a dependency on the specific target:
.target(
name: "YourTarget",
dependencies: [
.product(name: "LoggingOSLog", package: "swift-log-oslog")
]
)
Basic Usage
// Import the logging API and this backend implementation
import Logging
#if canImport(Darwin)
import LoggingOSLog
#endif
// Later, in your application initialization code
func init() {
// ...
#if canImport(Darwin)
LoggingSystem.bootstrap(LoggingOSLog.init)
#endif
// Start creating loggers
let loggers: [String: Logger] = [
"main": Logger(label: "com.example.yourapp.Main"),
"mail": Logger(label: "com.example.yourapp.Mail System"),
]
}
Languages
Swift
100%