CIRCT
20.0.0git
|
A thread-safe logger which calls functions implemented by subclasses. More...
#include <Logging.h>
Public Member Functions | |
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. More... | |
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. More... | |
virtual void | warning (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details=nullptr) |
Report a warning. More... | |
virtual void | info (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details=nullptr) |
Report an informational message. More... | |
void | debug (const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details=nullptr) |
Report a debug message. More... | |
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. More... | |
Protected Member Functions | |
virtual void | logImpl (Level level, const std::string &subsystem, const std::string &msg, const std::map< std::string, std::any > *details)=0 |
Subclasses must implement this method to log messages. More... | |
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. More... | |
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. More... | |
Protected Attributes | |
std::mutex | mutex |
Mutex to protect the stream from interleaved logging writes. More... | |
Protected Attributes inherited from esi::Logger | |
bool | debugEnabled = false |
Enable or disable debug messages. More... | |
Additional Inherited Members | |
Public Types inherited from esi::Logger | |
enum class | Level { Debug , Info , Warning , Error } |
A thread-safe logger which calls functions implemented by subclasses.
Only protects the log
method. If subclasses override other methods and need to protect them, they need to do that themselves.
|
finaloverridevirtual |
Grabs the lock and calls logImpl.
Implements esi::Logger.
Definition at line 23 of file Logging.cpp.
|
protectedpure virtual |
Subclasses must implement this method to log messages.
Implemented in esi::StreamLogger.
Referenced by log().
|
protected |