HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
Loading...
Searching...
No Matches
BaseLogger Class Referenceabstract

Base logger abstract class. More...

#include <BaseLogger.h>

Inheritance diagram for BaseLogger:
[legend]

Public Member Functions

virtual ~BaseLogger () noexcept=default
 Virtual destructor.
 
virtual hf_logger_err_t Initialize (const hf_logger_config_t &config) noexcept=0
 Initialize the logger.
 
virtual hf_logger_err_t Deinitialize () noexcept=0
 Deinitialize the logger.
 
virtual bool IsInitialized () const noexcept=0
 Check if logger is initialized.
 
virtual bool EnsureInitialized () noexcept=0
 Ensure logger is initialized (lazy initialization)
 
virtual hf_logger_err_t SetLogLevel (const char *tag, hf_log_level_t level) noexcept=0
 Set log level for a specific tag.
 
virtual hf_logger_err_t GetLogLevel (const char *tag, hf_log_level_t &level) const noexcept=0
 Get log level for a specific tag.
 
virtual hf_logger_err_t Error (const char *tag, const char *format,...) noexcept=0
 Log a message at ERROR level.
 
virtual hf_logger_err_t Warn (const char *tag, const char *format,...) noexcept=0
 Log a message at WARN level.
 
virtual hf_logger_err_t Info (const char *tag, const char *format,...) noexcept=0
 Log a message at INFO level.
 
virtual hf_logger_err_t Debug (const char *tag, const char *format,...) noexcept=0
 Log a message at DEBUG level.
 
virtual hf_logger_err_t Verbose (const char *tag, const char *format,...) noexcept=0
 Log a message at VERBOSE level.
 
virtual hf_logger_err_t Log (hf_log_level_t level, const char *tag, const char *format,...) noexcept=0
 Log a message at specified level.
 
virtual hf_logger_err_t LogV (hf_log_level_t level, const char *tag, const char *format, va_list args) noexcept=0
 Log a message with va_list (for internal use)
 
virtual 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=0
 Log a message with file and line information.
 
virtual hf_logger_err_t Flush () noexcept=0
 Flush any buffered output.
 
virtual bool IsLevelEnabled (hf_log_level_t level, const char *tag=nullptr) const noexcept=0
 Check if a log level is enabled for a tag.
 
virtual hf_logger_err_t GetStatistics (hf_logger_statistics_t &statistics) const noexcept=0
 Get logger statistics.
 
virtual hf_logger_err_t GetDiagnostics (hf_logger_diagnostics_t &diagnostics) const noexcept=0
 Get logger diagnostics.
 
virtual hf_logger_err_t ResetStatistics () noexcept=0
 Reset statistics.
 
virtual hf_logger_err_t ResetDiagnostics () noexcept=0
 Reset diagnostics.
 
virtual bool IsHealthy () const noexcept=0
 Check if logger is healthy.
 
virtual hf_logger_err_t GetLastError () const noexcept=0
 Get last error code.
 
virtual hf_logger_err_t GetLastErrorMessage (char *message, hf_u32_t max_length) const noexcept=0
 Get last error message.
 
virtual hf_logger_err_t PrintStatistics (const char *tag=nullptr, bool detailed=true) const noexcept=0
 Print statistics to log output.
 
virtual hf_logger_err_t PrintDiagnostics (const char *tag=nullptr, bool detailed=true) const noexcept=0
 Print diagnostics to log output.
 
virtual hf_logger_err_t PrintStatus (const char *tag=nullptr, bool detailed=true) const noexcept=0
 Print both statistics and diagnostics.
 

Protected Member Functions

 BaseLogger ()=default
 Default constructor.
 
 BaseLogger (const BaseLogger &)=delete
 Copy constructor (deleted)
 
BaseLoggeroperator= (const BaseLogger &)=delete
 Assignment operator (deleted)
 
 BaseLogger (BaseLogger &&)=delete
 Move constructor (deleted)
 
BaseLoggeroperator= (BaseLogger &&)=delete
 Move assignment operator (deleted)
 

Detailed Description

Base logger abstract class.

This class provides a comprehensive logging abstraction that supports:

  • Multiple log levels (ERROR, WARN, INFO, DEBUG, VERBOSE)
  • Thread-safe operations
  • Configurable output destinations
  • Performance monitoring and statistics
  • Error handling and diagnostics
  • Custom output callbacks
  • Message formatting and buffering

Constructor & Destructor Documentation

◆ ~BaseLogger()

virtual BaseLogger::~BaseLogger ( )
virtualdefaultnoexcept

Virtual destructor.

◆ BaseLogger() [1/3]

BaseLogger::BaseLogger ( )
protecteddefault

Default constructor.

◆ BaseLogger() [2/3]

BaseLogger::BaseLogger ( const BaseLogger & )
protecteddelete

Copy constructor (deleted)

◆ BaseLogger() [3/3]

BaseLogger::BaseLogger ( BaseLogger && )
protecteddelete

Move constructor (deleted)

Member Function Documentation

◆ Debug()

virtual hf_logger_err_t BaseLogger::Debug ( const char * tag,
const char * format,
... )
pure virtualnoexcept

Log a message at DEBUG level.

Parameters
tagLog tag
formatprintf-style format string
...printf-style arguments
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ Deinitialize()

virtual hf_logger_err_t BaseLogger::Deinitialize ( )
pure virtualnoexcept

Deinitialize the logger.

Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ EnsureInitialized()

virtual bool BaseLogger::EnsureInitialized ( )
pure virtualnoexcept

Ensure logger is initialized (lazy initialization)

Returns
true if initialization successful, false otherwise

Implemented in StmLogger.

◆ Error()

virtual hf_logger_err_t BaseLogger::Error ( const char * tag,
const char * format,
... )
pure virtualnoexcept

Log a message at ERROR level.

Parameters
tagLog tag
formatprintf-style format string
...printf-style arguments
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ Flush()

virtual hf_logger_err_t BaseLogger::Flush ( )
pure virtualnoexcept

Flush any buffered output.

Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ GetDiagnostics()

virtual hf_logger_err_t BaseLogger::GetDiagnostics ( hf_logger_diagnostics_t & diagnostics) const
pure virtualnoexcept

Get logger diagnostics.

Parameters
diagnosticsOutput diagnostics structure
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ GetLastError()

virtual hf_logger_err_t BaseLogger::GetLastError ( ) const
pure virtualnoexcept

Get last error code.

Returns
hf_logger_err_t Last error code

Implemented in StmLogger.

◆ GetLastErrorMessage()

virtual hf_logger_err_t BaseLogger::GetLastErrorMessage ( char * message,
hf_u32_t max_length ) const
pure virtualnoexcept

Get last error message.

Parameters
messageOutput error message buffer
max_lengthMaximum message length
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ GetLogLevel()

virtual hf_logger_err_t BaseLogger::GetLogLevel ( const char * tag,
hf_log_level_t & level ) const
pure virtualnoexcept

Get log level for a specific tag.

Parameters
tagLog tag (nullptr for default)
levelOutput log level
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ GetStatistics()

virtual hf_logger_err_t BaseLogger::GetStatistics ( hf_logger_statistics_t & statistics) const
pure virtualnoexcept

Get logger statistics.

Parameters
statisticsOutput statistics structure
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ Info()

virtual hf_logger_err_t BaseLogger::Info ( const char * tag,
const char * format,
... )
pure virtualnoexcept

Log a message at INFO level.

Parameters
tagLog tag
formatprintf-style format string
...printf-style arguments
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ Initialize()

virtual hf_logger_err_t BaseLogger::Initialize ( const hf_logger_config_t & config)
pure virtualnoexcept

Initialize the logger.

Parameters
configLogger configuration
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ IsHealthy()

virtual bool BaseLogger::IsHealthy ( ) const
pure virtualnoexcept

Check if logger is healthy.

Returns
true if healthy, false otherwise

Implemented in StmLogger.

◆ IsInitialized()

virtual bool BaseLogger::IsInitialized ( ) const
pure virtualnoexcept

Check if logger is initialized.

Returns
true if initialized, false otherwise

Implemented in StmLogger.

◆ IsLevelEnabled()

virtual bool BaseLogger::IsLevelEnabled ( hf_log_level_t level,
const char * tag = nullptr ) const
pure virtualnoexcept

Check if a log level is enabled for a tag.

Parameters
levelLog level to check
tagLog tag (nullptr for default)
Returns
true if level is enabled, false otherwise

Implemented in StmLogger.

◆ Log()

virtual hf_logger_err_t BaseLogger::Log ( hf_log_level_t level,
const char * tag,
const char * format,
... )
pure virtualnoexcept

Log a message at specified level.

Parameters
levelLog level
tagLog tag
formatprintf-style format string
...printf-style arguments
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ LogV()

virtual hf_logger_err_t BaseLogger::LogV ( hf_log_level_t level,
const char * tag,
const char * format,
va_list args )
pure virtualnoexcept

Log a message with va_list (for internal use)

Parameters
levelLog level
tagLog tag
formatprintf-style format string
argsva_list of arguments
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ LogWithLocation()

virtual hf_logger_err_t BaseLogger::LogWithLocation ( hf_log_level_t level,
const char * tag,
const char * file,
hf_u32_t line,
const char * function,
const char * format,
... )
pure virtualnoexcept

Log a message with file and line information.

Parameters
levelLog level
tagLog tag
fileSource file
lineSource line
functionFunction name
formatprintf-style format string
...printf-style arguments
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ operator=() [1/2]

BaseLogger & BaseLogger::operator= ( BaseLogger && )
protecteddelete

Move assignment operator (deleted)

◆ operator=() [2/2]

BaseLogger & BaseLogger::operator= ( const BaseLogger & )
protecteddelete

Assignment operator (deleted)

◆ PrintDiagnostics()

virtual hf_logger_err_t BaseLogger::PrintDiagnostics ( const char * tag = nullptr,
bool detailed = true ) const
pure virtualnoexcept

Print diagnostics to log output.

Parameters
tagLog tag for the output (optional, uses implementation-specific default if nullptr)
detailedIf true, prints detailed diagnostic information
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ PrintStatistics()

virtual hf_logger_err_t BaseLogger::PrintStatistics ( const char * tag = nullptr,
bool detailed = true ) const
pure virtualnoexcept

Print statistics to log output.

Parameters
tagLog tag for the output (optional, uses implementation-specific default if nullptr)
detailedIf true, prints detailed per-level statistics
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ PrintStatus()

virtual hf_logger_err_t BaseLogger::PrintStatus ( const char * tag = nullptr,
bool detailed = true ) const
pure virtualnoexcept

Print both statistics and diagnostics.

Parameters
tagLog tag for the output (optional, uses implementation-specific default if nullptr)
detailedIf true, prints detailed information
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ ResetDiagnostics()

virtual hf_logger_err_t BaseLogger::ResetDiagnostics ( )
pure virtualnoexcept

Reset diagnostics.

Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ ResetStatistics()

virtual hf_logger_err_t BaseLogger::ResetStatistics ( )
pure virtualnoexcept

Reset statistics.

Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ SetLogLevel()

virtual hf_logger_err_t BaseLogger::SetLogLevel ( const char * tag,
hf_log_level_t level )
pure virtualnoexcept

Set log level for a specific tag.

Parameters
tagLog tag (nullptr for default)
levelLog level
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ Verbose()

virtual hf_logger_err_t BaseLogger::Verbose ( const char * tag,
const char * format,
... )
pure virtualnoexcept

Log a message at VERBOSE level.

Parameters
tagLog tag
formatprintf-style format string
...printf-style arguments
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.

◆ Warn()

virtual hf_logger_err_t BaseLogger::Warn ( const char * tag,
const char * format,
... )
pure virtualnoexcept

Log a message at WARN level.

Parameters
tagLog tag
formatprintf-style format string
...printf-style arguments
Returns
hf_logger_err_t Success or error code

Implemented in StmLogger.


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