In-Memory Logger. More...
#include <gnuradio/dictionary_logger_backend.h>
Public Types | |
using | log_entry = std::pair< spdlog::log_clock::time_point, std::string > |
using | log_map = std::unordered_map< std::string, std::set< log_entry > > |
Public Member Functions | |
dictionary_logger_backend () | |
Create unfiltered logger. More... | |
dictionary_logger_backend (std::regex src_regex) | |
Create logger that filters according to the specified regex. More... | |
log_map | get_map () const |
~dictionary_logger_backend () override | |
Protected Member Functions | |
void | sink_it_ (const spdlog::details::log_msg &message) override |
void | flush_ () override |
In-Memory Logger.
Logs the messages passing by, sorted by the name of the logger logging them.
Use by adding a std::shared_ptr
to this to the logging system, i.e., make a logger auto new_backend = std::make_shared<gr::dictionary_logger_backend>();
and use it through: gr::logging.singleton()->add_default_backend(new_backend);
After running your work load, get the map and fetch the logged messages from that.
using gr::dictionary_logger_backend::log_entry = std::pair<spdlog::log_clock::time_point, std::string> |
using gr::dictionary_logger_backend::log_map = std::unordered_map<std::string, std::set<log_entry> > |
gr::dictionary_logger_backend::dictionary_logger_backend | ( | ) |
Create unfiltered logger.
gr::dictionary_logger_backend::dictionary_logger_backend | ( | std::regex | src_regex | ) |
Create logger that filters according to the specified regex.
|
inlineoverride |
|
inlineoverrideprotected |
|
inline |
|
overrideprotected |