NAP
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Logger Class Reference

#include <nap/logger.h>

Public Member Functions

void setCurrentLevel (const LogLevel &level)
 
void addHandler (std::unique_ptr< LogHandler > handler)
 

Static Public Member Functions

static void setLevel (const LogLevel &lvl)
 
static Loggerinstance ()
 
static const std::vector< const LogLevel * > & getLevels ()
 
static const LogLevelgetLevel (const std::string &name)
 
static void addFileHandler (const std::string &filename)
 
static void logToDirectory (const std::string &directory, const std::string &prefix="log")
 

Public Attributes

Signal< LogMessagelog
 

Description

The logger is a singleton that can be called to log messages of various degrees of severity. By default logged messages are printed to the console. Invoke logToDirectory() to log messages to file.

Collaboration diagram for Logger:
[legend]

Member Function Documentation

◆ addFileHandler()

static void addFileHandler ( const std::string &  filename)
static

Convenience function to start logging to a file.

Parameters
filenameThe filename to write log entries to.

◆ addHandler()

void addHandler ( std::unique_ptr< LogHandler handler)

Add a handler to this logger. The logger will take ownership of it. The handle will provide a log level that may filter out unwanted messages during logging.

Parameters
handlerThe handler to be invoked by this logger.

◆ getLevel()

static const LogLevel* getLevel ( const std::string &  name)
static
Parameters
namethe name of the log level
Returns
the corresponding log level or nullptr if it doesn't exist

◆ getLevels()

static const std::vector<const LogLevel*>& getLevels ( )
static
Returns
all available log levels.

◆ instance()

static Logger& instance ( )
static
Returns
instance of the actual logger

◆ logToDirectory()

static void logToDirectory ( const std::string &  directory,
const std::string &  prefix = "log" 
)
static

Start logging to a file in the specified directory. Writes all log information into a file with the current date/time in the name. Final log filename: {directory}/{prefix}_{timestamp}.log

Parameters
directorythe directory to log to.
prefixname of the log_file.

◆ setCurrentLevel()

void setCurrentLevel ( const LogLevel level)

Sets the current log level for all handlers.

Parameters
levelnew log level, messages lower than the selected log level won't be displayed.

◆ setLevel()

static void setLevel ( const LogLevel lvl)
static

Sets the current log level for all handlers.

Parameters
lvlnew log level, messages lower than the selected log level won't be displayed.

Member Data Documentation

◆ log