Skip to content

astzweig/swift-log-oslog

Repository files navigation

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"),
	]
}

About

A unified OSLog backend implementation for SwiftLog

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages