CIRCT 21.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
esi::ConsoleLogger Class Reference

A logger that writes to the console. Includes color support. More...

#include <Logging.h>

Inheritance diagram for esi::ConsoleLogger:
Inheritance graph
[legend]
Collaboration diagram for esi::ConsoleLogger:
Collaboration graph
[legend]

Public Member Functions

 ConsoleLogger (Level minLevel)
 Create a stream logger that logs to stdout, stderr.
 
void logImpl (Level level, const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details) override
 Subclasses must implement this method to log messages.
 
- Public Member Functions inherited from esi::TSLogger
void log (Level level, const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details) override final
 Grabs the lock and calls logImpl.
 
 Logger (bool debugEnabled)
 
- Public Member Functions inherited from esi::Logger
 Logger (bool debugEnabled)
 
virtual ~Logger ()=default
 
bool getDebugEnabled ()
 
virtual void error (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details=nullptr)
 Report an error.
 
virtual void warning (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details=nullptr)
 Report a warning.
 
virtual void info (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details=nullptr)
 Report an informational message.
 
void debug (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details=nullptr)
 Report a debug message.
 
void debug (std::function< void(std::string &subsystem, std::string &msg, std::unique_ptr< std::map< std::string, std::any > > &details)> debugFunc)
 Call the debug function callback only if debug is enabled then log a debug message.
 

Private Attributes

Level minLevel
 The minimum log level to emit.
 

Additional Inherited Members

- Public Types inherited from esi::Logger
enum class  Level { Debug , Info , Warning , Error }
 
- Protected Member Functions inherited from esi::Logger
virtual void debugImpl (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details)
 Overrideable version of debug. Only gets called if debug is enabled.
 
virtual void debugImpl (std::function< void(std::string &subsystem, std::string &msg, std::unique_ptr< std::map< std::string, std::any > > &details)> debugFunc)
 Overrideable version of debug. Only gets called if debug is enabled.
 
- Protected Attributes inherited from esi::TSLogger
std::mutex mutex
 Mutex to protect the stream from interleaved logging writes.
 
- Protected Attributes inherited from esi::Logger
bool debugEnabled = false
 Enable or disable debug messages.
 

Detailed Description

A logger that writes to the console. Includes color support.

Definition at line 169 of file Logging.h.

Constructor & Destructor Documentation

◆ ConsoleLogger()

ConsoleLogger::ConsoleLogger ( Level  minLevel)

Create a stream logger that logs to stdout, stderr.

Definition at line 78 of file Logging.cpp.

Member Function Documentation

◆ logImpl()

void ConsoleLogger::logImpl ( Level  level,
const std::string &  subsystem,
const std::string &  msg,
const std::map< std::string, std::any > *  details 
)
overridevirtual

Subclasses must implement this method to log messages.

Implements esi::TSLogger.

Definition at line 81 of file Logging.cpp.

References esi::Logger::Debug, esi::Logger::Error, esi::Logger::Info, minLevel, esi::toString(), and esi::Logger::Warning.

Member Data Documentation

◆ minLevel

Level esi::ConsoleLogger::minLevel
private

The minimum log level to emit.

Definition at line 179 of file Logging.h.

Referenced by logImpl().


The documentation for this class was generated from the following files: