tklengyel / drakvuf

DRAKVUF Black-box Binary Analysis
https://drakvuf.com
Other
1.06k stars 255 forks source link

Using logger instead of standard outputs to log anything #575

Open Dos98 opened 5 years ago

Dos98 commented 5 years ago

Reference: C++ Logging frameworks.

I looked at the reference above and have shortlisted the following frameworks:

  1. Blackhole:
    • Developed as a Shared Lib
    • Attributes Supported (as JSON)
    • Wrappers
    • Custom Formatters supported (JSON out of the box)
    • Sinks supported
  2. 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
  3. G3log:
    • Asynchronous logger with Dynamic Sinks
    • Logging api
    • Sink creation and utilization
    • logging levels
    • Custom LOG formatting
    • Log flushing
  4. spdlog:
    • Very fast
    • Header only
    • C++ logging library
    • Feature rich formatting
    • Asynchronous mode
    • Custom formatting
    • Multi/Single threaded loggers
    • Various log targets
  5. Reckless:
    • Low-latency
    • high-throughput
    • Asynchronous logging library for C++.
  6. Pantheios:
    • 100% type-safety
    • Efficiency
    • Genericity and extensibility
    • Simple to use and extend
    • Highly-portable
  7. glog:
    • C++ implementation of the Google logging module

Comparison based on performance:image I haven't worked with a logging framework before therefore i am looking for suggestions from maintainers and community.

Dos98 commented 5 years ago

Above Image is from here.