logovod is a macro-free allocation-free user-configurable logger front-end for C++17 and newer.
Licensed under MIT
logovod features
- Three styles of use — with functions, ostream lefst hifts, format string
- Automatic space insertion of functional style
- Automatic printing of standard containers, tuples, variants, optional
- Compile or run-time priority levels
- Compile or run-time sinks
- Constrained message length
- Support for wide-char streams
- Priority levels according to RFC-5424 section-6.2.1
// Instantiate a logger type
using Log = logovod::logger<logovod::category>;
// Emit log messages with a function-call style
Log::debug("Hello Logovod");
// or with I/O stream shifts
Log::info{} << "Hello Logovod I/O stream style";
// or with std::format
Log::notice{}.format("Hello {} format style", "Logovod");
- Concerns doc/Concerns.md
- Design Decisions doc/Design.md
- User Guide doc/UserGuide.md
c++17 | c++20 | c++23 | |
---|---|---|---|
g++-11 | PASS | PASS | N/A |
g++-12 | PASS | PASS | N/A |
g++-13 | PASS | PASS | PASS |
clang++-15 | NOTE 1 | NOTE 1 | N/A |
NOTE 1 clang++-15 does not fully support source location. A workaround exists.
- NDK 26.1.10909125
- clang++-17
- c++20
- android23 - android34