Txeo v0.1
A Developer-Friendly TensorFlow C++ Wrapper
Loading...
Searching...
No Matches
txeo::Logger Class Referenceabstract

Abstract base class for logging subsystems. More...

#include <Logger.h>

Inheritance diagram for txeo::Logger:
Inheritance graph
Collaboration diagram for txeo::Logger:
Collaboration graph

Public Member Functions

 Logger (const Logger &)=delete
 
 Logger (Logger &&)=delete
 
Loggeroperator= (const Logger &)=delete
 
Loggeroperator= (Logger &&)=delete
 
virtual ~Logger ()=default
 
void log (txeo::LogLevel level, const std::string &message)
 Main logging method.
 
void turn_on ()
 Enable logging operations.
 
void turn_off ()
 Disable all logging output.
 
txeo::LogLevel output_level () const
 Get current output level threshold.
 
void set_output_level (txeo::LogLevel output_level)
 Set minimum logging level to output.
 
void debug (const std::string &message)
 Log DEBUG level message.
 
void info (const std::string &message)
 Log INFO level message.
 
void warning (const std::string &message)
 Log WARNING level message.
 
void error (const std::string &message)
 Log ERROR level message.
 

Protected Member Functions

 Logger ()=default
 
virtual void write (txeo::LogLevel level, const std::string &message)=0
 Abstract write operation.
 

Static Protected Member Functions

static std::string log_level_str (txeo::LogLevel level)
 

Protected Attributes

bool _is_turned_on {true}
 
txeo::LogLevel _output_level {txeo::LogLevel::DEBUG}
 

Detailed Description

Abstract base class for logging subsystems.

Provides common interface and functionality for concrete loggers. Supports severity filtering and global enable/disable.

Note
Inherit from this class to create specific logger implementations

Example Usage:

class ConsoleLogger : public Logger {
protected:
void write(LogLevel level, const std::string& message) override {
std::cout << "[" << log_level_str(level) << "] " << message << "\n";
}
};
ConsoleLogger logger;
logger.set_output_level(LogLevel::INFO);
logger.info("Application started");
logger.debug("This won't be shown"); // Filtered by output level
A container for managing training, evaluation, and test data splits.
Definition DataTable.h:24
Abstract base class for logging subsystems.
Definition Logger.h:45
LogLevel
Defines severity levels for log messages.
Definition Logger.h:19

Definition at line 45 of file Logger.h.

Constructor & Destructor Documentation

◆ Logger() [1/3]

txeo::Logger::Logger ( const Logger )
delete

◆ Logger() [2/3]

txeo::Logger::Logger ( Logger &&  )
delete

◆ ~Logger()

virtual txeo::Logger::~Logger ( )
virtualdefault

◆ Logger() [3/3]

txeo::Logger::Logger ( )
protecteddefault

Member Function Documentation

◆ debug()

void txeo::Logger::debug ( const std::string &  message)

Log DEBUG level message.

Parameters
messageDiagnostic information

◆ error()

void txeo::Logger::error ( const std::string &  message)

Log ERROR level message.

Parameters
messageCritical error report

◆ info()

void txeo::Logger::info ( const std::string &  message)

Log INFO level message.

Parameters
messageOperational status update

◆ log()

void txeo::Logger::log ( txeo::LogLevel  level,
const std::string &  message 
)

Main logging method.

Parameters
levelSeverity level of the message
messageContent to log
Note
Respects both output level and enabled state

◆ log_level_str()

static std::string txeo::Logger::log_level_str ( txeo::LogLevel  level)
staticprotected

◆ operator=() [1/2]

Logger & txeo::Logger::operator= ( const Logger )
delete

◆ operator=() [2/2]

Logger & txeo::Logger::operator= ( Logger &&  )
delete

◆ output_level()

txeo::LogLevel txeo::Logger::output_level ( ) const
inline

Get current output level threshold.

Returns
Active LogLevel filter

Definition at line 76 of file Logger.h.

76{ return _output_level; }
txeo::LogLevel _output_level
Definition Logger.h:116
Here is the caller graph for this function:

◆ set_output_level()

void txeo::Logger::set_output_level ( txeo::LogLevel  output_level)
inline

Set minimum logging level to output.

Parameters
output_levelMessages below this level will be filtered

Example Usage:

logger.set_output_level(LogLevel::WARNING); // Only show WARNING+

Definition at line 87 of file Logger.h.

txeo::LogLevel output_level() const
Get current output level threshold.
Definition Logger.h:76
Here is the call graph for this function:

◆ turn_off()

void txeo::Logger::turn_off ( )
inline

Disable all logging output.

Definition at line 70 of file Logger.h.

70{ _is_turned_on = false; };
bool _is_turned_on
Definition Logger.h:115

◆ turn_on()

void txeo::Logger::turn_on ( )
inline

Enable logging operations.

Definition at line 65 of file Logger.h.

65{ _is_turned_on = true; };

◆ warning()

void txeo::Logger::warning ( const std::string &  message)

Log WARNING level message.

Parameters
messagePotential issue notification

◆ write()

virtual void txeo::Logger::write ( txeo::LogLevel  level,
const std::string &  message 
)
protectedpure virtual

Abstract write operation.

Parameters
levelMessage severity level
messageFormatted log content
Note
Must be implemented in derived classes

Member Data Documentation

◆ _is_turned_on

bool txeo::Logger::_is_turned_on {true}
protected

Definition at line 115 of file Logger.h.

115{true};

◆ _output_level

txeo::LogLevel txeo::Logger::_output_level {txeo::LogLevel::DEBUG}
protected

Definition at line 116 of file Logger.h.


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