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 Reference manual
- 5 different logging targets:
- The OS Log facility (from macOS 10.12)
- A file
- STDOUT (println)
- A network destination
- A list of callback objects from the Application itself.
- 8 log levels:
- 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.
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
- Rewrote dependency on >= macOS 12
- Added capability to run multiple instances of an app in parallel and still keep the logfiles sperate.
- Linux compatibility
- Updated for changes in SwifterSockets: using Swift.Result instead of BRUtils.Result.
- Documentation updates
- Udated headers
- Added defaultTypeString and now allows empty type parameters.
- Updated manifest to tool v5
- Added platform to manifest (macOS 10.12)
- Migration to Swift 5
- Undid the disabling of time info in Stdout target (not needed)
- Fixed level-inversion bug that made the newest versions of SwifterLog unworkable
- Added disabling of time info to Stdout target
- Added disable/enable settings for OSLog target
- Made the message parameter implicit
- Replace ASL with os_log
- Migration to SPM 4
- Migration to Swift 4, minor changes.
- Updated user manual
- Updated dependecies
- Split off from 1.0.1, new implementation.
- Updated dependecies (VJson & SwifterSockets)
- No changes but this readme file since the previous version.