Logger namespace that holds the logger functionality.
This namespace provides a compile-time configurable logging system. Logs can be directed to different outputs (DevCart USB, Emulator MMIO, or none). Log levels filter messages at compile-time for efficiency. Usage: Configure via macros SRL_LOG_OUTPUT and SRL_LOG_LEVEL before include. Example: #define SRL_LOG_OUTPUT DEV_CART #define SRL_LOG_LEVEL INFO
Classes | |
| class | DevCartLogger |
| DevCartLogger class. More... | |
| class | DummyLogger |
| DummyLogger class. More... | |
| class | EmulatorLogger |
| EmulatorLogger class. More... | |
| class | Log |
| Log class. More... | |
Typedefs | |
| using | DefaultLogger |
Enumerations | |
| enum class | LogLevels : uint8_t { TRACE = 0 , TESTING = 1 , INFO = 2 , WARNING = 3 , FATAL = 4 , NONE = 99 } |
| LogLevels enumeration. More... | |
| enum class | LogOutputs : uint8_t { DEV_CART = 0 , EMULATOR = 1 , NONE = 99 } |
| LogOutputs enumeration. More... | |
Functions | |
| template<typename Output = DefaultLogger, typename... Args> | |
| void | LogDebug (const char *message, Args... args) |
| Convenience wrapper for TESTING (debug) level. | |
| template<typename Output = DefaultLogger, typename... Args> | |
| void | LogFatal (const char *message, Args... args) |
| Convenience wrapper for FATAL level. | |
| template<typename Output = DefaultLogger, typename... Args> | |
| void | LogInfo (const char *message, Args... args) |
| Convenience wrapper for INFO level. | |
| template<typename Output = DefaultLogger, typename... Args> | |
| void | LogPrint (const char *message, Args... args) |
| General print (defaults to INFO). | |
| template<typename Output = DefaultLogger, typename... Args> | |
| void | LogTrace (const char *message, Args... args) |
| Convenience wrapper for TRACE level. | |
| template<typename Output = DefaultLogger, typename... Args> | |
| void | LogWarning (const char *message, Args... args) |
| Convenience wrapper for WARNING level. | |
Variables | |
| static constexpr SRL::Logger::LogOutputs | LogOutput = SRL::Logger::LogOutputs::NONE |
| Default output if SRL_LOG_OUTPUT undefined: NONE (disabled). | |