drakvuf
drakvuf copied to clipboard
Using logger instead of standard outputs to log anything
Reference: C++ Logging frameworks.
I looked at the reference above and have shortlisted the following frameworks:
- Blackhole:
- Developed as a Shared Lib
- Attributes Supported (as JSON)
- Wrappers
- Custom Formatters supported (JSON out of the box)
- Sinks supported
- Boost.Log:
- Part of Boost library
- "modular and extensible"
- Seems pretty Powerful
- Attributes Support
- Good Documentation
- Configurable
- Large Community Support
- :x: Heavy/Poor Performance
- :x: Require RTTI
- G3log:
- Asynchronous logger with Dynamic Sinks
- Logging api
- Sink creation and utilization
- logging levels
- Custom LOG formatting
- Log flushing
- spdlog:
- Very fast
- Header only
- C++ logging library
- Feature rich formatting
- Asynchronous mode
- Custom formatting
- Multi/Single threaded loggers
- Various log targets
- Reckless:
- Low-latency
- high-throughput
- Asynchronous logging library for C++.
- Pantheios:
- 100% type-safety
- Efficiency
- Genericity and extensibility
- Simple to use and extend
- Highly-portable
- glog:
- C++ implementation of the Google logging module
Comparison based on performance:
I haven't worked with a logging framework before therefore i am looking for suggestions from maintainers and community.
Above Image is from here.