CIRCT 24.0.0git
Loading...
Searching...
No Matches
esi::ConsoleLogger Class Reference

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

#include <Logging.h>

Inheritance diagram for esi::ConsoleLogger:
Collaboration diagram for esi::ConsoleLogger:

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, bool traceEnabled)
Public Member Functions inherited from esi::Logger
 Logger (bool debugEnabled, bool traceEnabled)
virtual ~Logger ()=default
bool getDebugEnabled ()
bool getTraceEnabled ()
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.
void trace (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details=nullptr)
 Log a trace message.
void trace (std::function< void(std::string &subsystem, std::string &msg, std::unique_ptr< std::map< std::string, std::any > > &details)> traceFunc)
 Log a trace message using a callback.

Private Attributes

Level minLevel
 The minimum log level to emit.

Additional Inherited Members

Public Types inherited from esi::Logger
enum class  Level {
  Trace , 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.
bool traceEnabled
 Enable or disable trace messages.

Detailed Description

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

Definition at line 205 of file Logging.h.

Constructor & Destructor Documentation

◆ ConsoleLogger()

ConsoleLogger::ConsoleLogger ( Level minLevel)

Create a stream logger that logs to stdout, stderr.

Definition at line 82 of file Logging.cpp.

References minLevel.

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 86 of file Logging.cpp.

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

Member Data Documentation

◆ minLevel

Level esi::ConsoleLogger::minLevel
private

The minimum log level to emit.

Definition at line 215 of file Logging.h.

Referenced by ConsoleLogger(), and logImpl().


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