log.hxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __LIBT2N_LOG
00023 #define __LIBT2N_LOG
00024
00025 #include <iostream>
00026 #include <sstream>
00027
00028 #define LOGGING
00029
00030 #ifdef LOGGING
00031
00032 #define LOGSTREAM(level,pipe) \
00033 do { \
00034 std::ostream* streamptr; \
00035 if ((streamptr=get_logstream(level))!=NULL) \
00036 (*streamptr) << pipe << std::endl; \
00037 } while (0)
00038
00039 #define OBJLOGSTREAM(obj,level,pipe) \
00040 do { \
00041 std::ostream* streamptr; \
00042 if ((streamptr=obj.get_logstream(level))!=NULL) \
00043 (*streamptr) << pipe << std::endl; \
00044 } while (0)
00045
00046 #define EXCEPTIONSTREAM(loglevel,exception,pipe) \
00047 do { \
00048 std::ostringstream ostr; \
00049 ostr << pipe; \
00050 std::ostream* streamptr; \
00051 if ((streamptr=get_logstream(loglevel))!=NULL) \
00052 (*streamptr) << ostr.str() << std::endl; \
00053 throw exception(ostr.str()); \
00054 } while (0)
00055
00056 #else
00057
00058 #define LOGSTREAM(level,pipe)
00059 #define OBJLOGSTREAM(obj,level,pipe)
00060 #define EXCEPTIONSTREAM(loglevel,exception,pipe)
00061
00062 #endif
00063
00064 #endif