Wrapper around Apple's new Swift logging APIs, particularly Logger.
Provides a basic public
/ private
logging functionality at a given level (e.g. debug
(default)).
For more information, please refer to this WWDC20 video: Explore logging in Swift
- iOS 14+
- macOS 11+ (BigSur+)
- Mac Catalyst 14.0+
- tvOS 14+
- watchOS 7+
- Xcode 12.0+
import AppLogger
// Create an instance of the "AppLogger with default options.
let logger = AppLogger()
// Log public information.
logger.log("iPhone screen size: \(screenSize)")
// Log private information.
logger.log("Username: \(username); Password: \(password)", isPrivate: true)
public struct Defaults {
public static let subsystem = Bundle.main.bundleIdentifier ?? "AppLogger"
public static let category = "default"
public static let isPrivate = false
}
Action / Include Info/Debug Messages
in the Console app in order to see debug messages
from your app.
Keep in mind that private information will still be visible in the Console app as clear text if the device is attached to the debugger. Apparently this is by design.
Use Xcode's built-in support for SPM.
In your Package.swift
, add AppLogger
as a dependency:
dependencies: [
.package(url: "https://github.com/backslash-f/applogger", from: "1.0.0")
],
Associate the dependency with your target:
targets: [
.target(name: "App", dependencies: ["AppLogger"])
]
Run: swift build