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)
Defaults
public struct Defaults {
public static let subsystem = Bundle.main.bundleIdentifier ?? "AppLogger"
public static let category = "default"
public static let isPrivate = false
}
Output
Xcode console
macOS Console app
⚠️ Make sure you have enabled Action / Include Info/Debug Messages in the Console app in order to see debug messages from your app.
macOS Console app: a note on .private
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.
AppLogger
Wrapper around Apple’s new Swift logging APIs, particularly Logger.
Provides a basic
public/privatelogging functionality at a given level (e.g.debug(default)).For more information, please refer to this WWDC20 video: Explore logging in Swift
Supported platforms
Usage
Defaults
Output
Xcode console
macOS Console app
⚠️ Make sure you have enabled
Action / Include Info/Debug Messagesin the Console app in order to seedebug messagesfrom your app.macOS Console app: a note on
.privateKeep 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.
Integration
Xcode
Use Xcode’s built-in support for SPM.
Package.swift
In your
Package.swift, addAppLoggeras a dependency:Associate the dependency with your target:
Run:
swift build