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 #ifndef __LIBT2N_LOG
00020 #define __LIBT2N_LOG
00021
00022 #include <iostream>
00023 #include <sstream>
00024
00025 #define LOGGING
00026
00027 #ifdef LOGGING
00028
00029 #define LOGSTREAM(level,pipe) \
00030 do { \
00031 std::ostream* streamptr; \
00032 if ((streamptr=get_logstream(level))!=NULL) \
00033 (*streamptr) << pipe << std::endl; \
00034 } while (0)
00035
00036 #define OBJLOGSTREAM(obj,level,pipe) \
00037 do { \
00038 std::ostream* streamptr; \
00039 if ((streamptr=obj.get_logstream(level))!=NULL) \
00040 (*streamptr) << pipe << std::endl; \
00041 } while (0)
00042
00043 #define EXCEPTIONSTREAM(loglevel,exception,pipe) \
00044 do { \
00045 std::ostringstream ostr; \
00046 ostr << pipe; \
00047 std::ostream* streamptr; \
00048 if ((streamptr=get_logstream(loglevel))!=NULL) \
00049 (*streamptr) << ostr.str() << std::endl; \
00050 throw exception(ostr.str()); \
00051 } while (0)
00052
00053 #else
00054
00055 #define LOGSTREAM(level,pipe)
00056 #define OBJLOGSTREAM(obj,level,pipe)
00057 #define EXCEPTIONSTREAM(loglevel,exception,pipe)
00058
00059 #endif
00060
00061 #endif