- 91,
Bonjour,
J'ai créé mon propre système de log, pour m'aider à débugger, et j'aimerais avoir vos commentaires et corrections.
Logger.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #ifndef LOGGER_H #define LOGGER_H #include <string> #include <fstream> #include "Log.h" class Logger { public: Logger(std::string filename); void LogSmth(Log log); virtual ~Logger(); private: std::ofstream os; }; |
Logger.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include "Logger.h" Logger::Logger(std::string filename) { os.open(filename.c_str()); } void Logger::LogSmth(Log log) { os << log.getMessage() << std::endl; } Logger::~Logger() { os.close(); } |
Log.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #ifndef LOG_H #define LOG_H #include <string> #include <ctime> enum LLevel { ERROR, WARNING, INFO, DEBUG, DEBUG1, UNKNOWN}; class Log { public: Log(std::string message, LLevel level); std::string getMessage(); private: std::string m_message; }; #endif // LOG_H |
Log.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include "Log.h" Log::Log(std::string message, LLevel level) { time_t now = time(0); tm *localTime = localtime(&now); m_message += std::to_string(localTime->tm_year + 1900); m_message += "-"; m_message += std::to_string(localTime->tm_mon + 1); m_message += "-"; m_message += std::to_string(localTime->tm_mday); m_message += " | "; m_message += std::to_string(localTime->tm_hour); m_message += ":"; m_message += std::to_string(localTime->tm_min + 1); m_message += ":"; m_message += std::to_string(localTime->tm_sec + 1); switch(level) { case ERROR: m_message += " - ERROR "; break; case WARNING: m_message += " - WARNING "; break; case INFO: m_message += " - INFO "; break; case DEBUG: m_message += " - DEBUG "; break; case DEBUG1: m_message += " - DEBUG1 "; break; case UNKNOWN: m_message += " - UNKNOWN "; break; } m_message += message; } std::string Log::getMessage() { return m_message; } |
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iostream> #include <string> #include "Log.h" #include "Logger.h" int main() { const std::string filename { "test.txt" }; Logger l(filename); Log m("Abricot", ERROR); Log n("Fraise", DEBUG); l.LogSmth(m); l.LogSmth(n); return 0; } |
Et j'obtiens ce fichier :
1 2 | 2015-9-14 | 16:2:27 - ERROR Abricot 2015-9-14 | 16:2:27 - DEBUG Fraise |
Par contre, pour le temps notamment, je ne sais pas si les fonctionnalités que j'ai utilisé sont "périmées" ou pas.
Merci d'avance:)
+0
-0