Loading [MathJax]/extensions/tex2jax.js
Txeo v0.1
A Developer-Friendly TensorFlow C++ Wrapper
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Concepts
Logger.h
Go to the documentation of this file.
1#ifndef LOGGER_H
2#define LOGGER_H
3#pragma once
4
5#include <string>
6
7namespace txeo {
8
19enum class LogLevel { DEBUG, INFO, WARNING, ERROR };
20
45class Logger {
46 public:
47 Logger(const Logger &) = delete;
48 Logger(Logger &&) = delete;
49 Logger &operator=(const Logger &) = delete;
50 Logger &operator=(Logger &&) = delete;
51 virtual ~Logger() = default;
52
60 void log(txeo::LogLevel level, const std::string &message);
61
65 void turn_on() { _is_turned_on = true; };
66
70 void turn_off() { _is_turned_on = false; };
71
77
88
93 void debug(const std::string &message);
94
99 void info(const std::string &message);
100
105 void warning(const std::string &message);
106
111 void error(const std::string &message);
112
113 protected:
114 Logger() = default;
115 bool _is_turned_on{true};
117
118 static std::string log_level_str(txeo::LogLevel level);
119
127 virtual void write(txeo::LogLevel level, const std::string &message) = 0;
128};
129
130} // namespace txeo
131#endif
A container for managing training, evaluation, and test data splits.
Definition DataTable.h:24
Abstract base class for logging subsystems.
Definition Logger.h:45
txeo::LogLevel output_level() const
Get current output level threshold.
Definition Logger.h:76
void set_output_level(txeo::LogLevel output_level)
Set minimum logging level to output.
Definition Logger.h:87
Logger(Logger &&)=delete
virtual void write(txeo::LogLevel level, const std::string &message)=0
Abstract write operation.
txeo::LogLevel _output_level
Definition Logger.h:116
void info(const std::string &message)
Log INFO level message.
void warning(const std::string &message)
Log WARNING level message.
Logger()=default
Logger & operator=(Logger &&)=delete
Logger & operator=(const Logger &)=delete
void log(txeo::LogLevel level, const std::string &message)
Main logging method.
void debug(const std::string &message)
Log DEBUG level message.
void error(const std::string &message)
Log ERROR level message.
virtual ~Logger()=default
static std::string log_level_str(txeo::LogLevel level)
void turn_on()
Enable logging operations.
Definition Logger.h:65
Logger(const Logger &)=delete
void turn_off()
Disable all logging output.
Definition Logger.h:70
bool _is_turned_on
Definition Logger.h:115
LogLevel
Defines severity levels for log messages.
Definition Logger.h:19