Blackhole v0.3.0 Release Notes
Release Date: 2014-10-28 // over 9 years ago-
โ Added
- String formatter now has optional placeholder, which can be fully ignored by the library, when it's not present in a record.
- ๐ง String formatter now can be configured with prefix, suffix and separator while using optional or variadic placeholders.
- String formatter has learned some convenient error-handling magic and can tell the User where and what type of error has happened.
- It's now possible to represent time value structure in local timezone.
- Any logger-compatible type (based on
logger_base_t
) can be created through a repository. - ๐ฒ Use compiler extension (cross-platform nonetheless) to check log message format correctness in compile time.
- ๐ The library now widely uses deprecated attribute feature, which allows to reduce from version to version migration pain.
- โ Added logger trait concept.
- ๐ A lot of documentation added.
๐ Changed
- ๐จ Log record has been completely refactored (and documented).
- Completely dropped all scope-specific stuff. Actually, there are three scopes left, but its management is fully incapsulated into the library.
- ๐ฒ Completely dropped
blackhole::log::*
namespace, because it's already the Logging Library. - Logger wrapper can now provide const reference to the underlying logger.
- โฌ๏ธ Dropped 'in situ' substitution mechanism for keyword attributes, because it is creepy and useless.
- Base config objects now return const references instead of copying.
- ๐ Allow to use
_
symbol in placeholder name. - Attribute value holders are now comparable.
- Frontend factory now has more convenient interface.
- ๐ง Using specialized exception instead of more generic while parsing configuration object.
- More forward declarations, which may be useful with compile time reducing.
- Pack feeder now has overload that accepts string literal, which allows to avoid unnecessary transformations.
- Multiple attribute sets is aggregated into single
view
class, so attribute lookup is performed lazily when it is needed by someone. - String formatter now internally uses ADT instead of packed functions.
- Accelerated variadic placeholder handling in string formatter by approximately 30% via avoiding unnecessary string transformations.
๐ Fixed
- ๐จ Process id attribute is back and its extraction is much cheaper.
- Message attribute should no longer hangs out with external attributes.
- ๐ Fix typo in GCC 4.6 detection macro.
- ๐ Fix compatibility with GCC 4.4, which emitted false-positive warning.
- ๐จ Blackhole should no longer propagate exception raised from
boost::format
, while formatting message string. Instead of this an exception reason will be printed as message.