summaryrefslogtreecommitdiff
path: root/inc/logger.h
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-03-10 20:06:43 -0400
committerbd <bdunahu@operationnull.com>2025-03-10 20:06:43 -0400
commitd16bb09d1e3bc79f94a7fcc43153fceb00af0df9 (patch)
treeaabab88d0715d3ee193069fa1a5a5eff29b56f1e /inc/logger.h
parent3f07846136767cbed13fd83baaba416f19c61667 (diff)
Make logger a global singleton class
Diffstat (limited to 'inc/logger.h')
-rw-r--r--inc/logger.h26
1 files changed, 17 insertions, 9 deletions
diff --git a/inc/logger.h b/inc/logger.h
index 7ab3051..38527c8 100644
--- a/inc/logger.h
+++ b/inc/logger.h
@@ -9,13 +9,14 @@ enum LogLevel { DEBUG, INFO, WARNING, ERROR, CRITICAL };
class Logger
{
public:
+ static Logger* getInstance();
+
+ ~Logger();
+
/**
- * Constructor.
- * @param The file name to log to.
- * @return A new logger object.
+ * Do not allow copies.
*/
- Logger(const string &);
- ~Logger();
+ Logger(const Logger& obj) = delete;
/**
* Set the log level.
@@ -31,10 +32,17 @@ class Logger
void log(LogLevel, const string &);
private:
- LogLevel level = INFO;
- ofstream logFile;
- string levelToString(LogLevel);
- int levelToInt(LogLevel);
+ /**
+ * Constructor.
+ * @param The file name to log to.
+ * @return A new logger object.
+ */
+ Logger(const string &);
+ static Logger* logger_instance;
+ static LogLevel level;
+ static ofstream logFile;
+ static string level_to_string(LogLevel);
+ static int level_to_int(LogLevel);
};
#endif /* LOGGER_H_INCLUDED */