Skip to content

apple/swift-log

SwiftLog

This repository contains a logging API implementation for Swift. SwiftLog provides a unified, performant, and ergonomic logging API that can be adopted by libraries and applications across the Swift ecosystem.

Quick Start

The following snippet shows how to add SwiftLog to your Swift Package:

// swift-tools-version: 6.1 import PackageDescription let package = Package( name: "YourApp", dependencies: [ .package(url: "https://github.com/apple/swift-log", from: "1.6.0") ], targets: [ .target( name: "YourApp", dependencies: [ .product(name: "Logging", package: "swift-log") ] ) ] )

Then start logging:

import Logging // Create a logger let logger = Logger(label: "com.example.YourApp") // Log at different levels logger.info("Application started") logger.warning("This is a warning") logger.error("Something went wrong", metadata: ["error": "\(error)"]) // Add metadata for context var requestLogger = logger requestLogger[metadataKey: "request-id"] = "\(UUID())" requestLogger.info("Processing request")

Available log handler backends

The community has built numerous specialized logging backends.

A great way to discover available log backend implementations is searching the Swift Package Index for the swift-log keyword.