G3log
spdlog
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
G3log
We haven't tracked posts mentioning G3log yet.
Tracking mentions began in Dec 2020.
spdlog
-
C++ Game Utility Libraries: for Game Dev Rustaceans
GitHub repo: gabime/spdlog
-
Easy logging A logging system for c++20
SpdLog https://github.com/gabime/spdlog
-
What a good debugger can do
* Aha! In digging up the docs for NDC, I found this[1], which does mention a book for your reading list: "Patterns for Logging Diagnostic Messages" part of the book "Pattern Languages of Program Design 3" edited by Martin et al.
-
I made a simple, but informative logging library.
I can just reocmmend spdlog. Very mature, fast, can log custom types, can be enhanced etc.
-
DAW JSON Link v3, a JSON serialization/deserialization library, is released
Not sure what the above is but you should check out spdlog. It's pretty great to use.
-
What's next after learncpp.com?
It's also very useful to get to grips with using some popular libraries. Some might be ones that you'll find yourself using everywhere (e.g. fmt, spdlog, catch2), and some that have more specific usage, but are good to try out and explore what C++ can do in a ridiculously easy-to-use manner (e.g. crow, Dear ImGui). Make some toy projects that use some of these and you'll learn a lot.
-
std::format ?
Hopefully move over this year now that spdlog supports std::format.
- How many people use printf() in their C++ code ?
-
I'm giving out microgrants to open source projects for the third year in a row! Brag about your projects here so I can see them, big or small!
spdlog, a pretty useful and more and more commonly used logging library for C++.\ SixtyFPS, an emerging GUI library for Rust, but you can use it in multiple languages. It uses OpenGL or Qt currently as backend (well, it's a new library and they wanted two from the get-go to make sure their abstractions are done right/well enough). They started a company this year for it too.
-
Build2 seems to have the right idea.
I've also seen things in build2 recipes involving gcc or MSVC compiler switches. Admittedly, the CMake script for spdlog is also quite complex. But I think that's because it's covering a lot of possibilities of how its dependencies are built that build2, by the sounds of it, ought not have to worry about. CMake gives you platform independent ways to set features on targets so that, in theory at least, you write your build script once and it automatically works across multiple platforms.
What are some alternatives?
glog - C++ implementation of the Google logging module
Boost.Log - Boost Logging library
easyloggingpp - C++ logging library. It is extremely powerful, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.
plog - Portable, simple and extensible C++ logging library
log4cplus - log4cplus is a simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. It is modelled after the Java log4j API.
quill - Asynchronous Low Latency C++ Logging Library
C++ Format - A modern formatting library
loguru - A lightweight C++ logging library
reckless - Reckless logging. Low-latency, high-throughput, asynchronous logging library for C++.