- Fixed multiple (benign) race conditions.
- Updated dependencies
- Fixed bug triggered when replacing console interfaces.
- Fixed race condition issues.
- Fixed threading issues.
- Added the
Trace
severity level. - Added code for converting
char*
tostd::string
when usingLog::FmtMsg
. This is done in order to prevent use after stack return bugs. - Minor unit test fixes.
- Conan package updates.
- Build system (CI) changes.
- CMake fixes.
- Made important CMake changes required for properly making Conan packages. (ed-alertedh)
- Made minor changes to the code to prevent issues when using a
using namespace std;
statement. - Minor documentation changes.
- Fixed faulty CMake code that did not properly import dependencies.
- Added performance tests.
- Replaced the home-brewed concurrent queue with a much faster open source one.
- Made the logger run in a separate thread.
- Added flushing functionality, see documentation for details in how it works.
- Added support for the fmtlib (for formatting) if present. Note: The formatting is done in a separate thread which should in most cases be faster than doing it in the thread that calls the logging library.
- Improved/fixed the README-file.
- Made it easier/possible to build the library without using Conan for providing dependencies.
- Added and fixed examples.
- Fixed the non-working
emptyQueue()
andqueueSize()
implementations. - Fixed/improved code documentation.
- Removed the message queue size parameter from log message handlers as it was deemed unnecessary.
- Fixed and added unit tests.
- Made the library compile with MSVC on Windows.
- Fixed a bug that prevented the library from being included as a conan package in other projects.
- Moved some of the code from externally facing header files to internal header files. This reduces the number of includes.
- Other minor CMake and code fixes.
- Updated the JSON for Modern C++ from 3.1.0 to 3.6.1.
- ASIO has been updated from 1.12.0 to 1.13.0.
- Improved CMake/Conan interaction.
- Build system fixes.
- Fixed serious issue that would cause the library to repeatedly cause new connections to spawn.
- Made minor changes to the documentation.
- Minor other changes.
- Some indication of the result of opening a log file was required and that has now been added.
- The threading model for the ConsoleLogger and FileLogger handlers has been updated and is now much improved.
- Made the static version of the library compile with position independent code (
-fPIC
).
- Completely removed the dependency on boost for unit testing.
- Switched out the networking code for code using ASIO.
- Updated to CMake code to use modern CMake features.
- Moved towards using the LLVM coding standard. This has changed the interface, you might have to update your code.
- Switched to using the JSONForModernCPP library. This library is not included in the repository.
- Added the
Info
severity level which is exactly the same as theInformational
severity level. - Updated the CI-code (Jenkins) to build the library on more (modern) operating systems.
- Messages are now passed to the graylog-server with millisecond resolution timestamps.
- The code now requires C++14 to compile.
- Updated the documentation.
- Modernized the code somewhat.
- This is the last version not using semantic versioning. The next release which has breaking changes in the API will have the version number 2.0.0.
- Improved the code based on clang-tidy static analysis results.
- (Very) minor changes to the interface.
- Switched to using position independent code (-fPIC). When building the static version of the library.
- Updated the Jenkins-script.
- Fixed serious excessive CPU usage bug and related memory leak in the Graylog server conenction code.
- Added support for Conan (Afonso).
- Re-did formating of the code (Afonso).
- Added automatic checking of code in Jenkinsfile (Afonso).
- Fixed bug related to the order in which static objects are deallocated on some systems. Note to self: premature optimisations are the root of all evil.
- Fixed serious bug which would cause the graylog interface to send the same message to the server repeatedly without stopping (thanks tijme!).
- Added license file.
- Minor changes to cmake-files (tijme).
- Minor other fixes.
- Added support for additional (user defined) fields.
- The library will no longer attempt to connect to a Graylog server on localhost.
- Using code adopted from boost, the library should now be able to determine the current process name.
- The library now builds on Windows and passes all the unit tests. However, during integration testing it failed to correctly send log messages to a Graylog server on this platform.
- Updated the documentation.
- Minor bug fixes.