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

Singleton logger implementation for file output. More...

#include <LoggerFile.h>

Inheritance diagram for txeo::LoggerFile:
Inheritance graph
Collaboration diagram for txeo::LoggerFile:
Collaboration graph

Public Member Functions

 LoggerFile (const LoggerFile &)=delete
 
 LoggerFile (LoggerFile &&)=delete
 
LoggerFileoperator= (const LoggerFile &)=delete
 
LoggerFileoperator= (LoggerFile &&)=delete
 
 ~LoggerFile ()
 
bool open_file (const std::filesystem::path &file_path)
 Open log file for writing.
 
void close_file ()
 Close the current log file.
 
- Public Member Functions inherited from txeo::Logger
 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.
 

Static Public Member Functions

static LoggerFileinstance ()
 Get singleton instance.
 

Additional Inherited Members

- Protected Member Functions inherited from txeo::Logger
 Logger ()=default
 
- Static Protected Member Functions inherited from txeo::Logger
static std::string log_level_str (txeo::LogLevel level)
 
- Protected Attributes inherited from txeo::Logger
bool _is_turned_on {true}
 
txeo::LogLevel _output_level {txeo::LogLevel::DEBUG}
 

Detailed Description

Singleton logger implementation for file output.

Inherits from txeo::Logger and provides thread-safe file logging capabilities. Uses RAII for resource management and follows the singleton pattern.

Note
The logger must be explicitly opened with open_file() before use
All logging operations are thread-safe through internal mutex

Example Usage:

try {
logger.open_file("app.log");
logger.info("System initialized");
logger.warning("Low memory detected");
logger.close_file();
} catch(const LoggerFileError& e) {
std::cerr << "Logging failed: " << e.what() << std::endl;
}
A container for managing training, evaluation, and test data splits.
Definition DataTable.h:24
Exception class for file logging errors.
Definition LoggerFile.h:102
static LoggerFile & instance()
Get singleton instance.

Definition at line 35 of file LoggerFile.h.

Constructor & Destructor Documentation

◆ LoggerFile() [1/2]

txeo::LoggerFile::LoggerFile ( const LoggerFile )
delete

◆ LoggerFile() [2/2]

txeo::LoggerFile::LoggerFile ( LoggerFile &&  )
delete

◆ ~LoggerFile()

txeo::LoggerFile::~LoggerFile ( )

Member Function Documentation

◆ close_file()

void txeo::LoggerFile::close_file ( )

Close the current log file.

Example Usage:

logger.close_file(); // Explicit close

◆ instance()

static LoggerFile & txeo::LoggerFile::instance ( )
static

Get singleton instance.

Returns
Reference to the singleton LoggerFile instance

Example Usage:

◆ open_file()

bool txeo::LoggerFile::open_file ( const std::filesystem::path &  file_path)

Open log file for writing.

Parameters
file_pathPath to log file (will be created if not exists)
Returns
true if file was successfully opened
Exceptions
LoggerFileErrorThrown if file opening fails
Note
Appends to existing file by default

Example Usage:

if(!logger.open_file("debug.log")) {
// Handle open failure
}

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

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