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 to boost::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.