bmv2
Designing your own switch target with bmv2
Public Types | Static Public Member Functions | List of all members
bm::Logger Class Reference

Public Types

enum  LogLevel
 Different log levels. More...
 

Static Public Member Functions

static spdlog::logger * get ()
 
static void set_log_level (LogLevel level)
 Set the log level. Messages with a lesser level will not be logged. More...
 
static void set_logger_console ()
 Log all messages to stdout. More...
 
static void set_logger_file (const std::string &filename, bool force_flush=false)
 
static void set_logger_ostream (std::ostream &os)
 Log all messages to the given output stream. Mostly used for testing. More...
 

Detailed Description

Provides logging for bmv2.

Log messages follow the following pattern: <time> bmv2 <msg level> <thread id> <MSG>

Usage:

Logger::get()->info("Hi");
Logger::get()->debug("This is bmv2 amd my name is {}", name_str);
Logger::get()->error("An error? never!");

However, the preferred way to log messages is using the logging macros:

Member Enumeration Documentation

◆ LogLevel

enum bm::Logger::LogLevel
strong

Different log levels.

Member Function Documentation

◆ get()

static spdlog::logger* bm::Logger::get ( )
inlinestatic

Get an instance of the logger. It actually returns a pointer to a spdlog logger instance. Usage:

Logger::get()->info("Hi");
Logger::get()->debug("This is bmv2 amd my name is {}", name_str);
Logger::get()->error("An error? never!");

See the spdlog documentation for more advanced usage.

◆ set_log_level()

static void bm::Logger::set_log_level ( LogLevel  level)
static

Set the log level. Messages with a lesser level will not be logged.

◆ set_logger_console()

static void bm::Logger::set_logger_console ( )
static

Log all messages to stdout.

◆ set_logger_file()

static void bm::Logger::set_logger_file ( const std::string &  filename,
bool  force_flush = false 
)
static

Log all messages to the given file. If force_flush is true, the logger will flush to disk after every log message.

◆ set_logger_ostream()

static void bm::Logger::set_logger_ostream ( std::ostream &  os)
static

Log all messages to the given output stream. Mostly used for testing.


The documentation for this class was generated from the following file:
bm::Logger::get
static spdlog::logger * get()
Definition: logger.h:79