#ifndef __SYS_CLOG_H #define __SYS_CLOG_H #include #include #include #include #define ENTETE "\"\ \ \ :: EzSpace ::\ \ \ \ \ \ \
\

EzSpace :: Projet-Espace

\
\ Log du projet\
\
" class CLog { std::ofstream my_log; std::string name; unsigned int ln; public: std::string l_str; CLog(): ln(0) { name = "log.html"; my_log.open(name.c_str(), std::ios::out); my_log.close(); my_log.open(name.c_str(), std::ios::out|std::ios::app); my_log << ENTETE; } ~CLog() { my_log << "
"; my_log.close(); } void operator<< (const char *str) { my_log << "( "<<++ln << " ) "; my_log << str; my_log << "
\n"; l_str += str; l_str += "\n"; } void printf(char *fmt, ...) { char a[1024]; va_list ap; // on récupère la ligne apres fmt va_start(ap, fmt); vsprintf(a, fmt, ap); va_end(ap); my_log << "( "<<++ln << " ) "; my_log << a << "
\n"; l_str += a; l_str += "\n"; } }; #endif