diff options
author | bd <bdunahu@operationnull.com> | 2025-03-10 20:06:43 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-03-10 20:06:43 -0400 |
commit | d16bb09d1e3bc79f94a7fcc43153fceb00af0df9 (patch) | |
tree | aabab88d0715d3ee193069fa1a5a5eff29b56f1e /inc/logger.h | |
parent | 3f07846136767cbed13fd83baaba416f19c61667 (diff) |
Make logger a global singleton class
Diffstat (limited to 'inc/logger.h')
-rw-r--r-- | inc/logger.h | 26 |
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 */ |