Swift log
A Logging API for Swift
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. The project is written primarily in Swift, distributed under the Apache License 2.0 license, first published in 2019. It has gained significant community traction with 4,024 stars and 341 forks on GitHub. Key topics include: logging, swift-server.
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.
- 📚 Documentation and tutorials are available on the Swift Package Index
- 🚀 Contributions are welcome, please see CONTRIBUTING.md
- 🪪 License is Apache 2.0, repeated in LICENSE.txt
- 🔒 Security issues should be reported via the process in Security
- 🔀 Available Logging Backends: SwiftLog is an API package - you'll want to
choose from the many
community-maintained logging backends for production use
Quick Start
The following snippet shows how to add SwiftLog to your Swift Package:
swift// 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:
swiftimport 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.
Contributors
Showing top 12 contributors by commit count.
