Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
Previously, wide string support was included in
Codec.h
. Wide string functionality has now been moved to a separate header file,WideStrings.h
. On Windows, logging wide strings now requires the inclusion ofquill/std/WideStrings.h
.Added
QUILL_IMMEDIATE_FLUSH
preprocessor variable. This variable can be defined before includingLogMacros.h
or passed as a compiler flag. WhenQUILL_IMMEDIATE_FLUSH
is defined, the library will flush the log on each log statement. This causes the caller thread to wait for the log to be processed and written to the log file by the backend thread before continuing, significantly impacting performance. This feature is useful for debugging the application when synchronized logs are required. (#488)Introduced
log_level_descriptions
andlog_level_short_codes
inBackendOptions
to allow customization ofLogLevel
descriptions and short codes, replacing previously hardcoded values. This enhancement enables users to define their own descriptions and short codes for each log level. For instance, instead of displayingLOG_WARNING
, it can now be configured to showLOG_WARN
. (#489)Introduced
LOGV_LEVEL
,LOGV_LEVEL_LIMIT
, andLOGV_LEVEL_WITH_TAGS
macros. These new macros simplify logging by automatically printing variable names and values without explicitly specifying each variable name or using{}
placeholders in the format string. Each macro can handle up to 26 arguments. The format string is concatenated at compile time, there is no runtime overhead for using these macros. For example:outputs
A message with two variables [a: 123, b: 3.17]
Introduced
LOGJ_LEVEL
,LOGJ_LEVEL_LIMIT
, andLOGJ_LEVEL_WITH_TAGS
macros. These new macros simplify JSON logging by automatically embedding the name of each passed variable as a named argument in the format string. Each macro can handle up to 26 arguments. The format string is concatenated at compile time, there is no runtime overhead for using these macros. For example:outputs
{"log_level":"INFO","message":"A json message {var_a}, {var_b}","var_a":"123","var_b":"test"}
Enhanced the
filter
function to also receive the formattedlog_message
alongside the log_statement, enabling the comparison and filtering oflog_message
while disregarding elements like timestamps from the fulllog_statement
. (#493)Renamed
log_message
tolog_statement
andshould_log_message
toshould_log_statement
inLogger
Replaced
%(log_level_id)
with%(log_level_short_code)
in thePatternFormatter
.Fix a
CMakeLists
error for oldCMake
versions prior to3.19
. (#491)