Skip to content

Hakkari the Blood God

Compare
Choose a tag to compare
@3Hren 3Hren released this 18 Aug 11:52
· 30 commits to v0.2 since this release

Features

  • 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.
  • Added default severity and its mapping function.

Bug fixes

  • Long and unsigned long values can now be used as attributes.
  • Fixed misleading error message when failed to instantiate formatter.
  • Fixed undefined behaviour in syslog sink.
  • Some conditional memory jumps fixed.
  • TCP write handler will now block until the message is completely sent.
  • Fixed deadlock while invoking move assigning in logger wrapper.
  • Forgotten configuration include added.
  • Fixed mapping of debug severity to string.

Other

  • Changed license to 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.
  • 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.
  • 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.

Examples

  • Added example using Elasticsearch sink.

Testing

  • Testing frameworks are now included as submodules.
  • Continious integration is used more widely, tests and examples should now be built separately.
  • Benchmark added to measure full logger event lifecycle.
  • Open access to backend variables for mocking purpose.
  • More tests for wrapper.
  • Added datetime generator, string formatter and other benchmarks.
  • Added tests to check priority of categorized attribute sets.