diff options
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 */ |