Skip to content

v4.2.0

Compare
Choose a tag to compare
@odygrd odygrd released this 30 May 21:54
· 296 commits to master since this release
  • Fixed the compile-time exclusion of log levels. Renamed the QUILL_COMPILE_OUT_LOG_LEVEL preprocessor
    flag to QUILL_COMPILE_ACTIVE_LOG_LEVEL.
  • Fixed build error when UnboundedDropping queue is used.
  • Fixed a bug introduced in v4.1.0, which resulted in messages being logged out of order when
    the transit_events_soft_limit was reached. Additionally, this issue affected the behavior of flush_log(),
    prematurely unblocking the thread before all messages were flushed.
  • Fixed -Wno-unused-parameter and -Wdocumentation warnings.
  • Improved backend worker _exit() functionality and reduced code duplication in other areas of the backend worker code.
  • Added signal_handler_timeout_seconds parameter, which controls the timeout duration for the signal handler. Only
    available on Linux platforms.
  • Added sleep_duration_ns parameter to the flush_log(...) function. This parameter specifies the duration in
    nanoseconds to sleep between retries between checks for the flush completion and when a blocking queue is used,
    and it is full. The default sleep duration is 100 nanoseconds, but users can now customize this duration according to
    their needs. If a zero sleep duration is passed, the thread might yield instead.
  • Removed uses of std::this_thread::sleep_for(...), std::string, std::vector in the signal handler when waiting for the log to be flushed.