Releases: codeFi/XcodeLogger
2.2.0
XcodeLogger 2.2.0
This release expands XcodeLogger around a synchronous core with asynchronous sink delivery and adds the main configuration APIs needed for production use.
Highlights
- Scoped child loggers with
category(_:)andscoped(...) - Per-sink policy for minimum levels, file overrides, regex category rules, sampling, and rate limiting
- Global redaction for metadata keys and message bodies before sink rendering
- Async-capable sink delivery with deterministic ordering on one internal serial coordinator
- New
FileSinkwith size-based rotation and archive retention - New package-shipped
TestSinkfor logger-focused test suites - Simpler build gating with
LoggerConfiguration.whenEnabled(_:) - Removal of the dead Objective-C implementation tree while keeping the Swift compatibility facade and
Compatibility/XcodeLogger.h
Documentation Notes
The README now includes concrete 2.2 usage examples and guidelines for:
- Scoped child logger composition
- Build gating with
whenEnabled(_:) - Redaction setup
- Per-sink filtering policy
- Sampling and rate limiting
- Async file delivery and rotation
FileSinkandTestSinkusage
Validation
swift testpasses on the release branch
2.1.0
Highlights
- Add app-owned build-configuration gating via LoggerBuildConfigurationProviding and LoggerConfiguration.isEnabled
- Suppress all logger output when logging is disabled for a build
- Rename legacy OLog compatibility macros to NLog and the built-in category to networking
- Rewrite the README from a migration-focused 2.1.0 perspective
XcodeLogger 2.0.0
XcodeLogger 2.0.0 refreshes the project as a Swift-first logging library, adds OSLog/DebugConsole/Stdout sinks, keeps demos in Examples while keeping SwiftPM library-only, replaces the legacy sample apps with new SwiftUI demos, and updates the README for the current package and sink behavior.
Version 1.2.1
- Added a global filter option through the
XL_FILTER_GLOBAL_LEVELSmacro - A minor addition to
XLogObjectclass which isn't used at this moment (thedeallocmethod)
Version 1.2.0
Bug fixes
- Fixed some issues regarding Logs Header Descriptions
- Fixed other issues throughout the library
Changes
- More refactoring
_HIGHLIGHTlog level renamed to_IMPORTANT- Deprecated
setLogHeaderDescription:forLogType:level: - New method
setLogHeaderDescription:forLogType:level:color: - New & Updated Color Themes
- Added the option to set the same header format for all Log Types for a given level
- Added the option to set the same log header description for all Log Types for a given level
- Added the option to set the same text color for all Log Types for a given level
- Added the option to set the same background color for all Log Types for a given level
- Other minor improvements
Known bugs
If a project for the iOS platform is using the Xcode Logger library and the XcodeColors environment variable is set to YES while the Xcode Colors plugin isn't installed or loaded, the colors escape codes will appear in the console, scrambling the output.
Version 1.1.1
Changes
- LOTS & LOTS of refactoring!
- Log Filters
- Color Themes
- UIColor / NSColor support
- Log status description customization options
Known bugs
If a project for the iOS platform is using the Xcode Logger library and the XcodeColors environment variable is set to YES while the Xcode Colors plugin isn't installed or loaded, the colors escape codes will appear in the console, scrambling the output.
Version 1.0.1
Changes
- Added a check for
Xcode Colorsplugin. If the plugin isn't loaded (only onOS X) or enabled (bothiOSandOS X),Xcode Loggerwill strip away any color escape codes. - Fixed paths to Xcode Logger source files for sample projects.
- Removed the
Teststarget for the OSX Sample Project. - Added License to source files.
- Code maintenance.
- Updated the Cocoapods repo.
Known bugs
If a project for the iOS platform is using the Xcode Logger library and the XcodeColors environment variable is set to YES while the Xcode Colors plugin isn't installed or loaded, the colors escape codes will appear in the console, scrambling the output.
The fix is to comment setenv("XcodeColors", "YES", 0) or set the variable to NO before building the project.
First Version
Initial release.