Releases: SlickQuant/slick-logger
Releases · SlickQuant/slick-logger
Release v1.0.8
Changes
- Add cross-DSO logger instance sharing via
Logger::set_instance()andLogger::clear_instance_override()- Enables plugin/shared-library architectures where dynamically-loaded modules should route
LOG_*calls to the host application's logger instance()now uses anstd::atomic<Logger*>initialized to the library-local singleton, swappable at runtime- Thread-safe: atomic acquire-release ordering ensures full visibility of the target logger's initialization
- Enables plugin/shared-library architectures where dynamically-loaded modules should route
- Add
Logger::flush(): blocks until all queued log entries are written, then returns with the logger still running- Use before
FreeLibrary/dlcloseto drain entries whose format-string pointers live in the plugin's code segment
- Use before
Release v1.0.7
Changes
- Add to_log_level function
Release v1.0.6
Changes
- Fix logging through downstream
const char*format bridge withstd::format_args- Dynamic (non-literal) format strings are now copied into the internal string queue so they remain valid across the async writer boundary
- Dynamic format strings now support arguments instead of requiring zero args
- Fix string queue copy path to null-terminate using explicit payload length
- Add regression test for
const char* + std::format_argsbridge logging
Release v1.0.5
Changes
- Add
std::format_argssupport: pass a pre-builtstd::format_argsobject directly to any log call- Arguments are unpacked and copied into the log entry on the calling thread (safe across thread boundary)
- Supports all standard
std::basic_format_argtypes: bool, char, int, unsigned, long long, unsigned long long, float, double, long double, const char*, string_view, and void* - Custom formatter types (
std::formatterhandle) are not supported; they will be logged as<handle> - Fix
const void*handling inenqueue_argument(also benefits regular pointer logging)
- Updated cmake config template to avoid cmake config warning
Release v1.0.4
Changes
- Updated to slick-queue v1.2.2
- Try find slick-queue using CONFIG mode first before falling back to fetching it manually
- Renamed repository from slick_logger to slick-logger (hyphenated naming follows recommended convention)
- Changed export name from slick::slick_logger to slick::logger
- Refactored repository name in CMake configuration files
- Updated documentation and build references to use new repository name
Release v1.0.3
Changes
- Fix crash when logging empty string_view values
- Add length check before memcpy in store_string_in_queue() to handle empty strings safely
- Set null terminator directly for zero-length strings instead of copying
- Add comprehensive unit test for empty string_view logging (EmptyStringView test)
Release v1.0.2
Changes
- Update slick_queue to v1.2.1
- Added GitHub release workflow
- Update Copyright years
v1.0.1
- Update slick_queue to v1.1.2
- Added vcpkg integration
- Changed version number to three digits
- Added alias targets
v1.0.0.8
- Update slick_queue to v1.1.0.2
- Change include folder from include/slick_logger to include/slick
v1.0.0.7
- Update slick_queue to v1.1.0.1
- Change namespace from slick_logger to slick::logger