|
HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
|
STM32 Logger — production-quality logging over UART/SWO/printf. More...
#include <StmLogger.h>
Public Types | |
| enum class | Backend : hf_u8_t { UART_HAL = 0 , SWO_ITM = 1 , PRINTF = 2 } |
| Output backend selection. More... | |
Public Member Functions | |
| StmLogger (UART_HandleTypeDef *uart_handle=nullptr, Backend backend=Backend::UART_HAL) noexcept | |
| Construct with UART backend (most common) | |
| ~StmLogger () noexcept override | |
| hf_logger_err_t | Initialize (const hf_logger_config_t &config) noexcept override |
| Initialize the logger. | |
| hf_logger_err_t | Deinitialize () noexcept override |
| Deinitialize the logger. | |
| bool | IsInitialized () const noexcept override |
| Check if logger is initialized. | |
| bool | EnsureInitialized () noexcept override |
| Ensure logger is initialized (lazy initialization) | |
| hf_logger_err_t | SetLogLevel (const char *tag, hf_log_level_t level) noexcept override |
| Set log level for a specific tag. | |
| hf_logger_err_t | GetLogLevel (const char *tag, hf_log_level_t &level) const noexcept override |
| Get log level for a specific tag. | |
| hf_logger_err_t | Error (const char *tag, const char *format,...) noexcept override |
| Log a message at ERROR level. | |
| hf_logger_err_t | Warn (const char *tag, const char *format,...) noexcept override |
| Log a message at WARN level. | |
| hf_logger_err_t | Info (const char *tag, const char *format,...) noexcept override |
| Log a message at INFO level. | |
| hf_logger_err_t | Debug (const char *tag, const char *format,...) noexcept override |
| Log a message at DEBUG level. | |
| hf_logger_err_t | Verbose (const char *tag, const char *format,...) noexcept override |
| Log a message at VERBOSE level. | |
| hf_logger_err_t | Log (hf_log_level_t level, const char *tag, const char *format,...) noexcept override |
| Log a message at specified level. | |
| hf_logger_err_t | LogV (hf_log_level_t level, const char *tag, const char *format, va_list args) noexcept override |
| Log a message with va_list (for internal use) | |
| hf_logger_err_t | LogWithLocation (hf_log_level_t level, const char *tag, const char *file, hf_u32_t line, const char *function, const char *format,...) noexcept override |
| Log a message with file and line information. | |
| hf_logger_err_t | Flush () noexcept override |
| Flush any buffered output. | |
| bool | IsLevelEnabled (hf_log_level_t level, const char *tag=nullptr) const noexcept override |
| Check if a log level is enabled for a tag. | |
| hf_logger_err_t | GetStatistics (hf_logger_statistics_t &statistics) const noexcept override |
| Get logger statistics. | |
| hf_logger_err_t | GetDiagnostics (hf_logger_diagnostics_t &diagnostics) const noexcept override |
| Get logger diagnostics. | |
| hf_logger_err_t | ResetStatistics () noexcept override |
| Reset statistics. | |
| hf_logger_err_t | ResetDiagnostics () noexcept override |
| Reset diagnostics. | |
| bool | IsHealthy () const noexcept override |
| Check if logger is healthy. | |
| hf_logger_err_t | GetLastError () const noexcept override |
| Get last error code. | |
| hf_logger_err_t | GetLastErrorMessage (char *message, hf_u32_t max_length) const noexcept override |
| Get last error message. | |
| hf_logger_err_t | PrintStatistics (const char *tag=nullptr, bool detailed=true) const noexcept override |
| Print statistics to log output. | |
| hf_logger_err_t | PrintDiagnostics (const char *tag=nullptr, bool detailed=true) const noexcept override |
| Print diagnostics to log output. | |
| hf_logger_err_t | PrintStatus (const char *tag=nullptr, bool detailed=true) const noexcept override |
| Print both statistics and diagnostics. | |
Public Member Functions inherited from BaseLogger | |
| virtual | ~BaseLogger () noexcept=default |
| Virtual destructor. | |
Private Member Functions | |
| void | OutputString (const char *str, hf_u32_t length) noexcept |
| Write formatted string to output backend. | |
| hf_logger_err_t | FormatAndOutput (hf_log_level_t level, const char *tag, const char *format, va_list args) noexcept |
| Format and output a log message. | |
Private Attributes | |
| Backend | backend_ |
| Output backend. | |
| UART_HandleTypeDef * | uart_handle_ |
| UART HAL handle (for UART backend) | |
| bool | initialized_ |
| Init state. | |
| hf_log_level_t | global_level_ |
| Current global log level. | |
| hf_logger_statistics_t | statistics_ |
| Statistics. | |
| hf_logger_diagnostics_t | diagnostics_ |
| Diagnostics. | |
| hf_logger_err_t | last_error_ |
| Last error code. | |
| char | format_buffer_ [256] |
| Formatting scratch buffer. | |
Additional Inherited Members | |
Protected Member Functions inherited from BaseLogger | |
| BaseLogger ()=default | |
| Default constructor. | |
| BaseLogger (const BaseLogger &)=delete | |
| Copy constructor (deleted) | |
| BaseLogger & | operator= (const BaseLogger &)=delete |
| Assignment operator (deleted) | |
| BaseLogger (BaseLogger &&)=delete | |
| Move constructor (deleted) | |
| BaseLogger & | operator= (BaseLogger &&)=delete |
| Move assignment operator (deleted) | |
STM32 Logger — production-quality logging over UART/SWO/printf.
|
strong |
|
explicitnoexcept |
Construct with UART backend (most common)
|
overridenoexcept |
|
overridevirtualnoexcept |
Log a message at DEBUG level.
| tag | Log tag |
| format | printf-style format string |
| ... | printf-style arguments |
Implements BaseLogger.
|
overridevirtualnoexcept |
|
overridevirtualnoexcept |
Ensure logger is initialized (lazy initialization)
Implements BaseLogger.
|
overridevirtualnoexcept |
Log a message at ERROR level.
| tag | Log tag |
| format | printf-style format string |
| ... | printf-style arguments |
Implements BaseLogger.
|
overridevirtualnoexcept |
|
privatenoexcept |
Format and output a log message.
|
overridevirtualnoexcept |
Get logger diagnostics.
| diagnostics | Output diagnostics structure |
Implements BaseLogger.
|
overridevirtualnoexcept |
|
overridevirtualnoexcept |
Get last error message.
| message | Output error message buffer |
| max_length | Maximum message length |
Implements BaseLogger.
|
overridevirtualnoexcept |
Get log level for a specific tag.
| tag | Log tag (nullptr for default) |
| level | Output log level |
Implements BaseLogger.
|
overridevirtualnoexcept |
Get logger statistics.
| statistics | Output statistics structure |
Implements BaseLogger.
|
overridevirtualnoexcept |
Log a message at INFO level.
| tag | Log tag |
| format | printf-style format string |
| ... | printf-style arguments |
Implements BaseLogger.
|
overridevirtualnoexcept |
Initialize the logger.
| config | Logger configuration |
Implements BaseLogger.
|
overridevirtualnoexcept |
|
overridevirtualnoexcept |
|
overridevirtualnoexcept |
Check if a log level is enabled for a tag.
| level | Log level to check |
| tag | Log tag (nullptr for default) |
Implements BaseLogger.
|
overridevirtualnoexcept |
Log a message at specified level.
| level | Log level |
| tag | Log tag |
| format | printf-style format string |
| ... | printf-style arguments |
Implements BaseLogger.
|
overridevirtualnoexcept |
Log a message with va_list (for internal use)
| level | Log level |
| tag | Log tag |
| format | printf-style format string |
| args | va_list of arguments |
Implements BaseLogger.
|
overridevirtualnoexcept |
Log a message with file and line information.
| level | Log level |
| tag | Log tag |
| file | Source file |
| line | Source line |
| function | Function name |
| format | printf-style format string |
| ... | printf-style arguments |
Implements BaseLogger.
|
privatenoexcept |
Write formatted string to output backend.
|
overridevirtualnoexcept |
Print diagnostics to log output.
| tag | Log tag for the output (optional, uses implementation-specific default if nullptr) |
| detailed | If true, prints detailed diagnostic information |
Implements BaseLogger.
|
overridevirtualnoexcept |
Print statistics to log output.
| tag | Log tag for the output (optional, uses implementation-specific default if nullptr) |
| detailed | If true, prints detailed per-level statistics |
Implements BaseLogger.
|
overridevirtualnoexcept |
Print both statistics and diagnostics.
| tag | Log tag for the output (optional, uses implementation-specific default if nullptr) |
| detailed | If true, prints detailed information |
Implements BaseLogger.
|
overridevirtualnoexcept |
|
overridevirtualnoexcept |
|
overridevirtualnoexcept |
Set log level for a specific tag.
| tag | Log tag (nullptr for default) |
| level | Log level |
Implements BaseLogger.
|
overridevirtualnoexcept |
Log a message at VERBOSE level.
| tag | Log tag |
| format | printf-style format string |
| ... | printf-style arguments |
Implements BaseLogger.
|
overridevirtualnoexcept |
Log a message at WARN level.
| tag | Log tag |
| format | printf-style format string |
| ... | printf-style arguments |
Implements BaseLogger.
|
private |
Output backend.
|
private |
Diagnostics.
|
private |
Formatting scratch buffer.
|
private |
Current global log level.
|
private |
Init state.
|
private |
Last error code.
|
private |
Statistics.
|
private |
UART HAL handle (for UART backend)