Skip to content

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

License

Notifications You must be signed in to change notification settings

inmotionsoftware/swift-log-oslog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LoggingOSLog

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):

https://github.com/inmotionsoftware/swift-log-oslog.git

And use 1.0.0 as the base version.

Package.swift:

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

Bootstrap LoggingOSLog

import Logging
import LoggingOSLog

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

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

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.

License

MIT

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages