swift-log

1.12.0

A Logging API for Swift
apple/swift-log

What's New

1.12.0

2026-04-14T13:15:24Z

What's Changed

SemVer Minor

Other Changes

  • Enable Swift 6.3 jobs in CI by @rnro in #435
  • SLG-0004: Metadata privacy levels proposal by @kukushechkin in #416
  • Retroactively update status of SLG-0005 to Approved by @samuelmurray in #438
  • Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.8 to 0.0.9 by @dependabot[bot] in #437

Full Changelog: 1.11.0...1.12.0

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.

Description

  • Swift Tools 6.2.0
View More Packages from this Author

Dependencies

  • None
Last updated: Fri May 01 2026 05:20:29 GMT-0900 (Hawaii-Aleutian Daylight Time)