• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

loggingMACROS.h

Go to the documentation of this file.
00001 #ifndef logging_macros_H
00002 #define logging_macros_H
00003 /*******************************************************************************
00004 * ALMA - Atacama Large Millimiter Array
00005 * (c) UNSPECIFIED - FILL IN, 2005
00006 *
00007 * This library is free software; you can redistribute it and/or
00008 * modify it under the terms of the GNU Lesser General Public
00009 * License as published by the Free Software Foundation; either
00010 * version 2.1 of the License, or (at your option) any later version.
00011 *
00012 * This library is distributed in the hope that it will be useful,
00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015 * Lesser General Public License for more details.
00016 *
00017 * You should have received a copy of the GNU Lesser General Public
00018 * License along with this library; if not, write to the Free Software
00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00020 *
00021 * "@(#) $Id: loggingMACROS.h,v 1.32 2011/03/25 23:42:49 javarias Exp $"
00022 *
00023 * who       when      what
00024 * --------  --------  ----------------------------------------------
00025 * dfugate  2005-04-04  created
00026 */
00027 
00028 
00029 #ifndef __cplusplus
00030 #error This is a C++ include file and cannot be used from plain C
00031 #endif
00032 
00033 
00034 #include "loggingLogger.h"
00035 #include "loggingStopWatch.h"
00036 #include "loggingLogTrace.h"
00037 #include "loggingGetLogger.h"
00038 #include <iostream>
00039 #include <acsutilTimeStamp.h>
00040 
00041 #ifndef ENABLE_LOG4CPP_MACROS
00042 
00043 #define LM_DELOUSE 010000
00044 
00045 
00055 #define LOG(priority, routine, text) \
00056 if (getLogger()!=0) \
00057 { \
00058   getLogger()->log(priority, text, __FILE__, __LINE__, routine); \
00059 } \
00060 else \
00061 { \
00062   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00063   std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00064 }
00065 
00066 
00077 #define LOG_FULL(logPriority, logRoutine, logMessage, logAudience, logArray, logAntenna) \
00078 if (getLogger()!=0) \
00079 { \
00080     Logging::BaseLog::LogRecord lr; \
00081     lr.priority  = Logging::ace2acsPriority(logPriority); \
00082     lr.message   = logMessage; \
00083     lr.file      = __FILE__; \
00084     lr.line      = __LINE__; \
00085     lr.method    = logRoutine; \
00086     lr.timeStamp = getTimeStamp(); \
00087     LoggingProxy::audience(logAudience); \
00088     LoggingProxy::array(logArray); \
00089     LoggingProxy::antenna(logAntenna); \
00090     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00091     getLogger()->log(lr); \
00092          LoggingProxy::audience(NULL); \
00093 } \
00094 else \
00095 { \
00096   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00097   std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00098 }
00099 
00109 #define LOG_WITH_ANTENNA_CONTEXT(logPriority, logRoutine, logMessage, logArray, logAntenna) \
00110 if (getLogger()!=0) \
00111 { \
00112     Logging::BaseLog::LogRecord lr; \
00113     lr.priority  = Logging::ace2acsPriority(logPriority); \
00114     lr.message   = logMessage; \
00115     lr.file      = __FILE__; \
00116     lr.line      = __LINE__; \
00117     lr.method    = logRoutine; \
00118     lr.timeStamp = getTimeStamp(); \
00119     LoggingProxy::array(logArray); \
00120     LoggingProxy::antenna(logAntenna); \
00121     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00122     getLogger()->log(lr); \
00123 } \
00124 else \
00125 { \
00126   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00127   std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00128 }
00129 
00138 #define LOG_TO_AUDIENCE(logPriority, logRoutine, logMessage, logAudience) \
00139 if (getLogger()!=0) \
00140 { \
00141     Logging::BaseLog::LogRecord lr; \
00142     lr.priority  = Logging::ace2acsPriority(logPriority); \
00143     lr.message   = logMessage; \
00144     lr.file      = __FILE__; \
00145     lr.line      = __LINE__; \
00146     lr.method    = logRoutine; \
00147     lr.timeStamp = getTimeStamp(); \
00148     LoggingProxy::audience(logAudience); \
00149     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00150     getLogger()->log(lr); \
00151          LoggingProxy::audience(NULL); \
00152 } \
00153 else \
00154 { \
00155   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00156   std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00157 }
00158 
00171 #define LOG_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime, logSource) \
00172 if (getLogger()!=0) \
00173 { \
00174     Logging::BaseLog::LogRecord lr; \
00175     lr.priority  = logPriority; \
00176     lr.message   = logMessage; \
00177     lr.file      = logFile; \
00178     lr.line      = logLine; \
00179     lr.method    = logRoutine; \
00180     lr.timeStamp = logTime; \
00181     getNamedLogger(logSource)->log(lr); \
00182 } \
00183 else \
00184 { \
00185   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00186   std::cerr << logFile << ", line=" << logLine << std::endl; \
00187 }
00188 
00189 
00201 #define LOG_GLOBAL_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime) \
00202 if (getLogger()!=0) \
00203 { \
00204     Logging::BaseLog::LogRecord lr; \
00205     lr.priority  = logPriority; \
00206     lr.message   = logMessage; \
00207     lr.file      = logFile; \
00208     lr.line      = logLine; \
00209     lr.method    = logRoutine; \
00210     lr.timeStamp = logTime; \
00211     getLogger()->log(lr); \
00212 } \
00213 else \
00214 { \
00215   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00216   std::cerr << logFile << ", line=" << logLine << std::endl; \
00217 }
00218 
00219 
00228 #define STATIC_LOG(priority, routine, text) \
00229 Logging::Logger::getStaticLogger()->log(priority, text, __FILE__, __LINE__, routine);
00230 
00242 #define STATIC_LOG_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime) \
00243 { \
00244     Logging::BaseLog::LogRecord lr; \
00245     lr.priority  = logPriority; \
00246     lr.message   = logMessage; \
00247     lr.file      = logFile; \
00248     lr.line      = logLine; \
00249     lr.method    = logRoutine; \
00250     lr.timeStamp = logTime; \
00251     Logging::Logger::getStaticLogger()->log(lr); \
00252 }
00253 
00263 #define STATIC_LOG_TO_AUDIENCE(priority, routine, text, logAudience) \
00264     LoggingProxy::audience(logAudience); \
00265     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00266     Logging::Logger::getStaticLogger()->log(Logging::ace2acsPriority(priority), text, __FILE__, __LINE__, routine);
00267 
00274 #define AUTO_TRACE(routine) \
00275 Logging::LogTrace::LogTraceSmartPtr __autoTraceLogTraceSmartPtrInstance(new Logging::LogTrace(getLogger(), routine, __FILE__, __LINE__));
00276 
00283 #define AUTO_STATIC_TRACE(routine) \
00284 Logging::LogTrace::LogTraceSmartPtr __autoTraceLogTraceSmartPtrInstance(new Logging::LogTrace(Logging::Logger::getStaticLogger(), routine, __FILE__, __LINE__));
00285 
00293 #define LOG_TO_DEVELOPER(logPriority, logMessage) \
00294     LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::DEVELOPER);
00295 
00303 #define STATIC_LOG_TO_DEVELOPER(logPriority, logMessage) \
00304     STATIC_LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::DEVELOPER);
00305 
00313 #define LOG_TO_OPERATOR( logPriority, logMessage) \
00314     LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::OPERATOR);
00315 
00323 #define STATIC_LOG_TO_OPERATOR( logPriority, logMessage) \
00324     STATIC_LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::OPERATOR);
00325 
00333 #define LOG_TO_SCIENCE( logPriority, logMessage) \
00334     LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::SCILOG);
00335 
00343 #define STATIC_LOG_TO_SCIENCE( logPriority, logMessage) \
00344     STATIC_LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::SCILOG);
00345 
00356 #define LOG_TO_SCILOG( logPriority, logMessage) \
00357     LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::SCILOG);
00358 
00369 #define STATIC_LOG_TO_SCILOG( logPriority, logMessage) \
00370     STATIC_LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::SCILOG);
00371 
00381 #define LOG_TO_AUDIENCE_WITH_LOGGER(logPriority, logMessage, logAudience, logger) \
00382 if (logger != 0) { \
00383     Logging::BaseLog::LogRecord lr; \
00384     lr.priority  = Logging::ace2acsPriority(logPriority); \
00385     lr.message   = logMessage; \
00386     lr.file      = __FILE__; \
00387     lr.line      = __LINE__; \
00388     lr.method    = __PRETTY_FUNCTION__; \
00389     lr.timeStamp = ::getTimeStamp();     \
00390     LoggingProxy::audience(logAudience); \
00391     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00392     logger->log(lr); \
00393 } else { \
00394     std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00395     std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00396 }
00397 
00406 #define LOG_TO_OPERATOR_WITH_LOGGER( logPriority, logMessage, logger) \
00407     LOG_TO_AUDIENCE_WITH_LOGGER(logPriority, logMessage, log_audience::OPERATOR, logger);
00408 
00417 #define LOG_TO_DEVELOPER_WITH_LOGGER(logPriority, logMessage, logger) \
00418     LOG_TO_AUDIENCE_WITH_LOGGER(logPriority, logMessage, log_audience::DEVELOPER, logger);
00419 
00420 
00427 #define ACS_STOP_WATCH(...) \
00428 Logging::StopWatch::StopWatchSmartPtr __autoStopWatchSmartPtrInstance(new Logging::StopWatch(getLogger(), __FILE__, __LINE__, __VA_ARGS__));
00429 
00430 #else
00431 #include "loggingLog4cppMACROS.h"
00432 #endif
00433 
00434 #endif 

Generated on Mon May 4 2015 08:27:43 for ACS-2015.4 C++ API by  doxygen 1.7.0