Bubba-3D  0.9.0
Awesome game engine!
Logger.h
1 /*
2  * This file is part of Bubba-3D.
3  *
4  * Bubba-3D is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * Bubba-3D is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with Bubba-3D. If not, see http://www.gnu.org/licenses/.
16  */
17 
18 #pragma once
19 
20 #include <vector>
21 #include <string>
22 #include "LogHandler.h"
23 
24 enum LogLevel {DEBUG, INFO, WARNING, SEVERE};
25 
26 class Logger
27 {
28 public:
29 
30  static void setDebug(bool debug);
31  static void setFileSave(bool saveToFile);
32 
33  static void logDebug(std::string msg);
34  static void logError(std::string msg);
35  static void logWarning(std::string msg);
36  static void logInfo(std::string msg);
37 
38  static void setLogLevel(unsigned int level);
39  static void addLogHandler(LogHandler* logHandler);
40 
41 private:
42  Logger();
43  ~Logger();
44 
45  static unsigned int currentLogLevel;
46  static std::vector<LogHandler*> logHandlers;
47  static std::string levelToString(unsigned int level);
48  static void log(unsigned int level, std::string msg);
49  static std::string getTime();
50 };
Definition: Logger.h:26