// // File : ErrorLogging.hh // // Purpose: Definition of logging macros. // // $Id: ErrorLogging.hh 12628 2011-08-21 05:02:12Z mathes $ // /** @file ErrorLogging.hh * Definition of logging macros. * @author H.-J. Mathes, FzK */ #ifndef _FdUtil_ErrorLogging_hh_ #define _FdUtil_ErrorLogging_hh_ #include #include #ifndef NO_VERSION # include #endif // NO_VERSION #define _USE_ERRORLOGGER_ 1 #if (_USE_ERRORLOGGER_ == 1) # include # define FD_LOGSTREAM(_level_) \ FdUtil::ErrorLogger::GetInstance().GetStream(_level_) # define FD_ERRLOGSTREAM(_level_) \ FdUtil::ErrorLogger::GetInstance().GetStream(_level_) # include #else // (_USE_ERRORLOGGER_ == 1) # include # include # define FD_LOGSTREAM(_level_) std::clog # define FD_ERRLOGSTREAM(_level_) std::cerr #endif // (_USE_ERRORLOGGER_ == 1) #if (_USE_ERRORLOGGER_ == 1) /** True if option ErrorLogger::eShowGPSTime is set. */ # define _FD_SHOW_TIME_ \ FdUtil::ErrorLogger::GetInstance().IsOptionSet(FdUtil::ErrorLogger::eShowGPSTime) /** Some additional logging info, like time, file, line, ... */ # define _FD_LOGINFO_STR_ \ (_FD_SHOW_TIME_ ? \ FdUtil::ErrorLogger::GetASCIIFromInt(FdUtil::TimeConvert::GetGPSTime(),10) : "" ) << \ (_FD_SHOW_TIME_ ? ": " : "" ) /** True if option ErrorLogger::eShowSeverity is set. */ # define _FD_SHOW_SEVERITY_ \ FdUtil::ErrorLogger::GetInstance().IsOptionSet(FdUtil::ErrorLogger::eShowSeverity) # define _FD_INF_STR_ ( _FD_SHOW_SEVERITY_ ? "INF:" : "" ) # define _FD_WRN_STR_ ( _FD_SHOW_SEVERITY_ ? "WRN:" : "" ) # define _FD_ERR_STR_ ( _FD_SHOW_SEVERITY_ ? "ERR:" : "" ) # define _FD_CRI_STR_ ( _FD_SHOW_SEVERITY_ ? "CRI:" : "" ) # define _FD_SEV_STR_ ( _FD_SHOW_SEVERITY_ ? "SEV:" : "" ) # define _FD_FAT_STR_ ( _FD_SHOW_SEVERITY_ ? "FAT:" : "" ) #else // (_USE_ERRORLOGGER_ == 1) /** Some additional logging info, like time, file, line, ... */ #define _FD_LOGINFO_STR_ \ std::setw(10) << FdUtil::TimeConvert::GetGPSTime() << ": " # define _FD_INF_STR_ "INF:" # define _FD_WRN_STR_ "WRN:" # define _FD_ERR_STR_ "ERR:" # define _FD_CRI_STR_ "CRI:" # define _FD_SEV_STR_ "SEV:" # define _FD_FAT_STR_ "FAT:" #endif // (_USE_ERRORLOGGER_ == 1) /** A global log stream for debugging. */ #define FD_CDEBUG(_dbglevel_) \ FD_LOGSTREAM(FdUtil::ErrorLogger::eDebug) \ << "DBG:" << _FD_LOGINFO_STR_ \ << __FILE__ << ":" << __LINE__ << ": " /** A global log stream for informative messages. */ #define FD_CINFO FD_LOGSTREAM(FdUtil::ErrorLogger::eInfo) \ << _FD_INF_STR_ << _FD_LOGINFO_STR_ /** A global log stream (identical to CINFO). */ #define FD_COUT FD_CINFO /** A global log stream for warnings. */ #define FD_CWARN FD_ERRLOGSTREAM(FdUtil::ErrorLogger::eWarning) \ << _FD_WRN_STR_ << _FD_LOGINFO_STR_ /** A global error log stream. */ #define FD_CERR FD_ERRLOGSTREAM(FdUtil::ErrorLogger::eError) \ << _FD_ERR_STR_ << _FD_LOGINFO_STR_ /** A global log stream for critical error messages. */ #define FD_CCRIT FD_ERRLOGSTREAM(FdUtil::ErrorLogger::eCritical) \ << _FD_CRI_STR_ << _FD_LOGINFO_STR_ /** A global log stream for severe error messages. */ #define FD_CSEV FD_ERRLOGSTREAM(FdUtil::ErrorLogger::eSevere) \ << _FD_SEV_STR_ << _FD_LOGINFO_STR_ /** A global log stream for fatal errors. */ #define FD_CFATAL FD_ERRLOGSTREAM(FdUtil::ErrorLogger::eFatal) \ << _FD_FAT_STR_ << _FD_LOGINFO_STR_ #endif // _FdUtil_ErrorLogging_hh_