|
CIRCT 22.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. | |
| 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. | |
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. | |
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 | |
| 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. | |
Additional Inherited Members | |
Public Types inherited from esi::Logger | |
| enum class | Level { Trace , 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 26 of file Logging.cpp.
|
inline |
|
protectedpure virtual |
Subclasses must implement this method to log messages.
Implemented in esi::StreamLogger, and esi::ConsoleLogger.
Referenced by log().
|
protected |