All Versions
40
Latest Version
Avg Release Cycle
18 days
Latest Release
-
Changelog History
Page 2
Changelog History
Page 2
-
v2.1.0 Changes
๐ Improvements
๐ง This version includes breaking changes to the API. Those changes are related to how quill is configured, before calling
quill::start()
to start the backend thread.โก๏ธ Check the updated examples.
๐ง Config.h - contains runtime configuration options
๐ง TweakMe.h - contains compile time configuration
0๏ธโฃ For example
quill::set_default_logger_handler(...)
has been removed. To set a default filehandler :// create a handler quill::Handler* file_handler = quill::file_handler("test.log", "w"); file_handler->set_pattern( "%(ascii_time) [%(thread)] %(fileline:<28) %(level_name) %(logger_name:<12) - %(message)", "%Y-%m-%d %H:%M:%S.%Qms", quill::Timezone::GmtTime); // set the handler as the default handler for any newly created logger in the config quill::Config cfg; cfg.default_handlers.emplace_back(file_handler); // configure must always be called prior to `start()` quill::configure(cfg); quill::start();
- โ Removed some API functions from
Quill.h
that were previously used for configuration. Instead,quill::Config
object has to be created. For examplequill::config::set_backend_thread_cpu_affinity(1);
has been removed and instead the following code is needed :
quill::Config cfg; cfg.backend_thread_cpu_affinity = 1; quill::configure(cfg);
QUILL_CHRONO_CLOCK
has been moved fromTweakMe.h
toConfig.h
. It is now possible to switch betweenrdtsc
andsystem
clocks without re-compiling. See example_trivial_system_clock.cppQUILL_RDTSC_RESYNC_INTERVAL
has been moved fromTweakMe.h
toConfig.h
.- ๐ฒ It is now possible to log user timestamps rather than the system's. This feature is useful for time simulations. See example_custom_clock.cpp and example_custom_clock_advanced.cpp
- ๐ Previously the logger names were limited to a maximum of 22 characters. This limitation has been removed.
- โ Added support for gcc 7.5.0. (#178)
- โก๏ธ Updated bundled fmt to 9.0.0
- โ Removed some API functions from
-
v2.0.2 Changes
๐ Fixes
- ๐ Fix crash when a
std::string
containing null-terminated characters is passed to the logger. (#176)
- ๐ Fix crash when a
-
v2.0.1 Changes
๐ Improvements
- โ Add a flag to RotatingFileHandler to disable removing the old files when
w
mode is used.
- โ Add a flag to RotatingFileHandler to disable removing the old files when
-
v2.0.0 Changes
๐ From version
v2
and onwards only c++17 is supported.๐จ This version is a major refactor.
๐ Fixes
- RotatingFileHandler will now correctly rotate the files when append mode is used (#123)
๐ Improvements
- โฌ๏ธ Reduced and simplified codebase.
- ๐ Improved backend worker thread performance.
QUILL_DUAL_QUEUE_MODE
has been removed. A single queue now handles every case.- ๐
QUILL_STRING
has been removed. That macro is no longer required when passing a format string to the PatternFormatter.
Differences
v1.7
compiles with c++14,v2
only compiles for c++17.- ๐
v1.7
on Windows supports wide character logging,v2
has limited wide character support such as loggingwchar_t
,std::wstring
,std::wstring_view
. For example, loggingstd::vector<std::wstring>
is not supported. - ๐
v1.7
on Windows requires the filepath used for the handlers as a wide strings,v2
supports only filenames as narrow strings.
-
v1.7.2 Changes
๐ Improvements/Fixes
- ๐ Fix compile error when C++20 is used on windows (#162)
-
v1.7.1 Changes
๐ Improvements/Fixes
- ๐ Fix support for wide characters on Windows (#168)
- ๐ Fix compilation error when
Quill::Logger*
is stored as a class member in templated classes - โ Add
FilenameAppend::DateTime
as an option when creating a file handler
-
v1.7.0 Changes
๐ 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
withQUILL_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 toquill: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)
- Add a new function
-
v1.6.4 Changes
๐ New Features
- Add a new function
quill::get_all_loggers()
that returns all the existing loggers. (#114) - โ Add
%(level_id)
to pattern formatter. (#136)
๐ Improvements/Fixes
- ๐ Fix initializations for C++17.
- ๐ Fix compiler warning in check_format function.
- Replace
QUILL_DUAL_QUEUE_MODE
withQUILL_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)
- Add a new function