Swiftpack.co - Package - inmotionsoftware/swift-log-oslog


A logging backend for SwiftLog that sends log messages to OSLog.

The logger's label is used to specify the subsystem and categorgy for OSLog in string format "mysubsystem/mycategory". The metadataContentType is used to control the output of LoggerMetadata. If private is set, the LoggerMetadata content output is replaced with <private> String value. This is useful for protecting sensitive information for Release build.

Getting started

Adding the dependency

Xcode's Swift Package Manager integration (Xcode 12 and higher):


And use 1.0.0 as the base version.


.package(url: "https://github.com/inmotionsoftware/swift-log-oslog.git", .from("1.0.0"))

Bootstrap LoggingOSLog

import Logging
import LoggingOSLog

class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        LoggingSystem.bootstrap {
            #if DEBUG
                OSLogHandler(label: $0, metadataContentType: .public)
                OSLogHandler(label: $0, metadataContentType: .private)

Let's log

// 1) let's import the logging API package
import Logging
import LoggingOSLog

// 2) we need to create a logger
let logger = Logger(label:"LoggingExample/ExampleCategory")

// 3) we're now ready to use it
logger.info("Hello World!")

For more details on all the features of the Swift Logging API, check out the swift-log repo.




Stars: 0


Used By

Total: 0