SwifterLog

2.2.3

A framework in Swift to create log entries in up to 5 different types of destinations and at 8 different levels.
Balancingrock/SwifterLog

What's New

Support for iOS and Linux

2020-07-08T08:40:34Z

With release 2.2.3 SwifterLog can be used on Linux and iOS.
Just add SwifterLog as a dependency to your iOS project (in XCode 11 and later).
Note that the OSLog target only works on iOS 10 and later.

SwifterLog

A framework in Swift to create and manage log entries in up to 5 destinations and on 8 levels.

SwifterLog is part of the Swiftfire webserver project.

The Swiftfire website

The Reference manual

The Installation manual on Swiftfire.nl or github

The User manual on Swiftfire.nl or github

Features

  • 5 different logging targets:
    1. The OS Log facility (from macOS 10.12)
    2. A file
    3. STDOUT (println)
    4. A network destination
    5. A list of callback objects from the Application itself.
  • 8 log levels:
    1. Debug
    2. Info
    3. Notice
    4. Warning
    5. Error
    6. Critical
    7. Alert
    8. Emergency
  • Each logging target can have its own cut-off level for the information that is logged.
  • The file target can be configured to store the log info in a predefined number of files of a predefined maximum size. When the maximum number of files is exceeded, the oldest file will automatically be removed.
  • Included high performance non-evaluation destinations to allow debug logging calls to remain in shipping code
  • Compiles using SPM (Swift Package Manager)
  • Filtering is possible
  • Supports macOS and Linux
  • Keeps logfiles seperate if multiple instances of the same app are executing in parallel.

Version History

No new features planned. Updates are made on an ad-hoc basis as needed to support Swiftfire development.

2.2.2 & 2.2.3

  • Added swift version, platform and a LICENSE file

2.2.1

  • Rewrote dependency on >= macOS 12

2.2.0

  • Added capability to run multiple instances of an app in parallel and still keep the logfiles sperate.

2.1.1

  • Linux compatibility

2.1.0

  • Updated for changes in SwifterSockets: using Swift.Result instead of BRUtils.Result.

2.0.1

  • Documentation updates

2.0.0

  • Udated headers
  • Added defaultTypeString and now allows empty type parameters.

1.7.1

  • Updated manifest to tool v5
  • Added platform to manifest (macOS 10.12)

1.7.0

  • Migration to Swift 5

1.6.0

  • Undid the disabling of time info in Stdout target (not needed)
  • Fixed level-inversion bug that made the newest versions of SwifterLog unworkable

1.5.0

  • Added disabling of time info to Stdout target
  • Added disable/enable settings for OSLog target

1.4.0

  • Made the message parameter implicit

1.3.0

  • Replace ASL with os_log

1.2.0

  • Migration to SPM 4

1.1.2

  • Migration to Swift 4, minor changes.
  • Updated user manual

1.1.1

  • Updated dependecies

1.1.0

  • Split off from 1.0.1, new implementation.

1.0.1

  • Updated dependecies (VJson & SwifterSockets)

1.0.0

  • No changes but this readme file since the previous version.

Description

  • Swift Tools 5.0.0
View More Packages from this Author

Dependencies

Last updated: Tue Nov 08 2022 04:36:37 GMT-0500 (GMT-05:00)