Blackhole v0.2.0 Release Notes
Release Date: 2014-08-18 // over 9 years ago-
➕ Added
- 🌲 Elasticsearch sink - allows to send logging events directly to that storage.
- Scoped attributes holder - automatically adds specified attributes to the logger while in its scope.
- Logger adaptor - keeps some attributes until lives.
- 🌲 Tracing framework - closely integrates with the logging system.
- 🔧 Configuration parser can properly handle arrays.
- Logger frontends are now thread-aware.
- Streaming sink now allows to use custom
std::stream
. - Logger object's internal state is now thread-safe.
- 0️⃣ Default severity and its mapping function.
- Example of Elasticsearch sink usage.
🔄 Changed
- License is now MIT.
- 😌 Relax local attributes transition to the record.
- Opening verbose logger's level type.
- ➕ Added macro variable to determine if the platform has c++11 random library.
- 🏗 Start using implementation files (ipp), which allows to build library in the future.
- Verbose logger now can keep bound verbosity level and filter by it.
- 🗄 No longer use
boost::filesystem
deprecated API. - Let the compiler deduce
swap
function it needs to use. - 🔧 Migrated from
boost::any
toboost::variant
configuration. - More forwards added.
- 0️⃣ Disable trace collecting by default.
- 🐧 Use lightweight process id (LWP) on Linux instead of thread id.
- Logger can now provide its tracking state outside.
- Moving
BLACKHOLE_HEADER_ONLY
declaration to the config file. - ✅ Disable tests and examples by default.
- Logger wrapper's constructor overload now accepts other const wrapper's reference instead of non-const one.
- Changed namespace of
DECLARE_EVENT_KEYWORD
. - ✅ Using new benchmarking framework for regression tests.
- 0️⃣ Default mapping from default severity to syslog one.
- ⚠ Default warning severity mapping to string has been slightly changed.
- 🔄 Change priority of attribute sets while merging.
- Scoped attributes constructor now has more strictly wrapper concept check.
- Added
DECLARE_LOCAL_KEYWORD
macro. - ✅ Testing frameworks are now included as submodules.
- ✅ Continuous integration is used more widely, tests and examples should now be built separately.
- Benchmark added to measure full logger event lifecycle.
🛠 Fixed
- Long and unsigned long values can now be used as attributes.
- Misleading error message when failed to instantiate formatter.
- 🛠 Fix undefined behavior in syslog sink.
- 🛠 Fix some conditional memory jumps.
- TCP write handler will now block until the message is completely sent.
- 🛠 Fix deadlock while invoking move assigning in logger wrapper.
- 🔧 Forgotten configuration include added.
- 🛠 Fix mapping of debug severity to string.