AppLogger

2.0.0

Wrapper around Apple's Swift logging APIs (OSLog/Unified Logging/Logger) 📒
backslash-f/applogger

What's New

v2.0.0

2023-12-26T22:18:40Z
  • Update Package.swift
    • Bump tools version: from 5.3 to 5.9

swift-version swift-package-manager platform build-status license

AppLogger

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

Supported platforms

  • iOS 14+
  • macOS 11+ (BigSur+)
  • Mac Catalyst 14.0+
  • tvOS 14+
  • watchOS 7+
  • Xcode 12.0+

Usage

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

Xcode Sample

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.

Console 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.

Console App Private Debugger

Integration

Xcode

Use Xcode's built-in support for SPM.

Package.swift

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

Description

  • Swift Tools 5.9.0
View More Packages from this Author

Dependencies

  • None
Last updated: Sun Apr 21 2024 19:11:51 GMT-0900 (Hawaii-Aleutian Daylight Time)