quill v1.7.0 Release Notes

  • ๐Ÿ†• New Features

    • Add a new function quill::get_all_loggers() that returns all the existing loggers. (#114)
    • โž• Add %(level_id) to pattern formatter. (#136)
    • ๐Ÿ‘‰ Users can now specialise copy_loggable<T> to mark user defined types as safe to copy. (#132)

    ๐Ÿ‘Œ Improvements/Fixes

    • ๐Ÿ›  Fix initializations for C++17.
    • ๐Ÿ›  Fix compiler warning in check_format() function.
    • Replace QUILL_DUAL_QUEUE_MODE with QUILL_DISABLE_DUAL_QUEUE_MODE.
    • โšก๏ธ Update bundled fmt to 8.1.1
    • ๐ŸŽ Minor performance and accuracy improvements to rdtsc clock used by the backend thread.
    • ๐Ÿ›  Fix compile error when C++20 is used. (#162)
    • Fix get_page_size() to only call sysconf once. (#160)
    • ๐Ÿ›  Fix incorrect timestamps in the log file when the system clock is updated. (#127)
    • ๐Ÿšฆ Previously if quill:start(true) was called more than once in the application, the signal handlers would get initialised again. Now any subsequent calls to quill:start(true) will now have no effect (#167)
    • Previously when the max limit of rotated files in RotatingFileHandler was reached, quill would stop rotating and instead keep logging everything into the last log file. Now when the maximum limit of files is reached, quill will now keep rotating by replacing the oldest logs. (#157)
    • ๐Ÿ‘Œ Improve the backend logging thread responsiveness when variables are logged in loops without any delay from multiple threads. (#116)
    • ๐Ÿ›  Fix some undefined behaviour issues reported via the AddressSantizer on the backend logging thread. (#166)