D:/WorkDir/SugoiProjects/SugoiTools/include/SugoiTools/logger_main.h

00001 //==========================================================
00002 // MainLogger.h
00003 //
00004 // Définition de la classe CLoggerMain
00005 //
00006 //==========================================================
00007 #ifndef LOGGERMAIN_H
00008 #define LOGGERMAIN_H
00009 
00010 #include "SugoiTools\config.h"
00011 #include "SugoiTools\logger_debug.h"
00012 #include "SugoiTools\logger_file.h"
00013 #include "SugoiTools\logger_msgbox.h"
00014 
00015 using namespace std;
00016 
00017 namespace SGE{
00018 
00019 class CLoggerMain
00020 {
00021 public:
00022           CLoggerMain();
00023           ~CLoggerMain();
00024 
00025           enum ENUM_LOG_DEST{
00026                               LOG_NULL,
00027                               LOG_TO_CONSOLE,
00028                               LOG_TO_FILE,
00029                               LOG_TO_MSGBOX
00030                     };
00031 
00032           void SelectMainLogger(ENUM_LOG_DEST _MainLog);
00033           
00034           static ENUM_LOG_DEST MainDestLog;
00035           static ILogger& Log();
00036 
00037 //protected:
00038           CLoggerDebug                  *         LogConsole;
00039           CLoggerFile                             *         LogFile;
00040           CLoggerMsgBox                 *         LogMsgBox;
00041           static CLoggerMain  *         MainLogger;
00042 };
00043 
00044 #define SG_NOTICE_LOG_C(_MSG) SGE::ILogger::Log(_MSG);
00045 #define SG_NOTICE_LOG(_MSG)             SGE::ILogger::Log()<< _MSG;
00046 
00047 #define SG_WARNING_LOG_C(_MSG){\
00048           SGE::ILogger::Log("\n\n%s (L.%d) WARNING :", __FILE__, __LINE__);\
00049           SGE::ILogger::Log(_MSG);}
00050 
00051 #define SG_WARNING_LOG(_MSG){\
00052           SGE::ILogger::Log("\n\n%s (L.%d) WARNING :", __FILE__, __LINE__);\
00053           SGE::ILogger::Log() << (std::string)_MSG;}
00054 
00055 #define SG_ERROR_LOG_C(_MSG){\
00056           SGE::ILogger::Log("\n\n%s (L.%d) ERROR :", __FILE__, __LINE__);\
00057           SGE::ILogger::Log(_MSG);}
00058 
00059 #define SG_ERROR_LOG(_MSG){\
00060           SGE::ILogger::Log("\n\n%s (L.%d) ERROR :", __FILE__, __LINE__);\
00061           SGE::ILogger::Log() << (std::string)_MSG;}
00062 
00063 };//namespace SGE
00064 #endif//LOGGERMAIN_H

Generated on Mon Mar 19 23:15:11 2007 for SugoiTools by  doxygen 1.4.6-NO