UnifiedLogHandler is a SwiftLog backend that uses Apple's Unified Logging System.
You can instruct SwiftLog
to use the UnifiedLogHandler
backend as follows:
import Logging
import UnifiedLogHandler
LoggingSystem.bootstrap(UnifiedLogHandler.init)
The UnifiedLogHandler
creates an OSLog
for each Logger
in your application or its libraries. It uses the application's bundle identifier and the Logger
's label as the OSLog
subsystem and category, respectively.
For example:
let logger = Logger(label: "APIClient")
logger.info("Something happened")
Prints the following output:
2019-12-15 18:22:10.357062+0100 MyApp[63417:16193919] [APIClient] Something happened
You can also use metadata when logging. For example:
logger.info("Something happened", metadata: ["foo": ["bar": "baz"]])
Prints the following output:
2019-12-15 18:34:01.424326+0100 MyApp[63587:16235713] [APIClient] Something happened
├─ Metadata
│ foo: ["bar": "baz"]
Using the Swift Package Manager
Add UnifiedLogHandler as a dependency to your Package.swift
file. For more information, see the Swift Package Manager documentation.
.package(url: "https://github.com/gonzalezreal/UnifiedLogHandler", from: "1.0.0")
- Open an issue if you need help, if you found a bug, or if you want to discuss a feature request.
- Open a PR if you want to make some change to
UnifiedLogHandler
. - Contact @gonzalezreal on Twitter.