Txeo v0.1
A Developer-Friendly TensorFlow C++ Wrapper
Loading...
Searching...
No Matches
LoggerFile.h
Go to the documentation of this file.
1#ifndef LOGGERFILE_H
2#define LOGGERFILE_H
3#pragma once
4
5#include "txeo/Logger.h"
6
7#include <filesystem>
8#include <fstream>
9
10namespace txeo {
11
35class LoggerFile : public txeo::Logger {
36 public:
37 LoggerFile(const LoggerFile &) = delete;
38 LoggerFile(LoggerFile &&) = delete;
39 LoggerFile &operator=(const LoggerFile &) = delete;
42
57 bool open_file(const std::filesystem::path &file_path);
58
67 void close_file();
68
79
80 private:
81 LoggerFile() = default;
82 std::ofstream _wf;
83 void write(txeo::LogLevel level, const std::string &message) override;
84 std::mutex _mutex;
85};
86
102class LoggerFileError : public std::runtime_error {
103 public:
104 using std::runtime_error::runtime_error;
105};
106
107} // namespace txeo
108
109#endif
A container for managing training, evaluation, and test data splits.
Definition DataTable.h:24
Exception class for file logging errors.
Definition LoggerFile.h:102
Singleton logger implementation for file output.
Definition LoggerFile.h:35
LoggerFile & operator=(LoggerFile &&)=delete
LoggerFile & operator=(const LoggerFile &)=delete
LoggerFile(LoggerFile &&)=delete
static LoggerFile & instance()
Get singleton instance.
void close_file()
Close the current log file.
LoggerFile(const LoggerFile &)=delete
bool open_file(const std::filesystem::path &file_path)
Open log file for writing.
Abstract base class for logging subsystems.
Definition Logger.h:45
LogLevel
Defines severity levels for log messages.
Definition Logger.h:19