OSLogging

OSLog
logging backend for swift-log
Features
Instalation
Add dependency to Package.swift
…
.package(url: "https://github.com/Alexander-Ignition/OSLogging", from: "1.0.0"),
… and your target
.target(name: "ExampleApp", dependencies: ["OSLogging"]),
Usage
Override LoggingSystem
with default OSLog
.
LoggingSystem.bootstrap { _ in OSLogHandler() }
let logger = Logger(label: "com.example.app")
logger.info("i found you!")
// 2019-10-20 08:47:35.498086+0300 ExampleApp[6533:150683] i found you!
Сhoose subsystems and categories for different parts of the application
let logger = Logger(label: "com.exaple.app") { label in
OSLogHandler(subsystem: label, category: "auth")
}
logger.info("loose control")
// 2019-10-20 08:47:35.498582+0300 ExampleApp[6533:150683] [auth] loose control
Custom metadata format
var logger = Logger(label: "com.exaple.app") { label in
var hanlder = OSLogHandler(subsystem: label, category: "session")
hanlder.formatter = { metadata in
metadata.map { "\($0):\($1)" } .joined(separator: ", ")
}
return hanlder
}
logger[metadataKey: "request-id"] = "1"
logger[metadataKey: "session-id"] = "a"
logger.warning("catch me if you can")
// 2019-10-20 08:47:35.499106+0300 ExampleApp[6533:150683] [session] session-id:a, request-id:1 catch me now
OSLogging
OSLog
logging backend forswift-log
Features
OSLog
Logger.Level
toOSLogType
Instalation
Add dependency to
Package.swift
…… and your target
Usage
Override
LoggingSystem
with defaultOSLog
.Сhoose subsystems and categories for different parts of the application
Custom metadata format