• 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 "loggingLogTrace.h"
00036 #include "loggingGetLogger.h"
00037 #include <iostream>
00038 #include <acsutilTimeStamp.h>
00039 
00040 #ifndef ENABLE_LOG4CPP_MACROS
00041 
00042 #define LM_DELOUSE 010000
00043 
00044 
00054 #define LOG(priority, routine, text) \
00055 if (getLogger()!=0) \
00056 { \
00057   getLogger()->log(priority, text, __FILE__, __LINE__, routine); \
00058 } \
00059 else \
00060 { \
00061   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00062   std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00063 }
00064 
00065 
00076 #define LOG_FULL(logPriority, logRoutine, logMessage, logAudience, logArray, logAntenna) \
00077 if (getLogger()!=0) \
00078 { \
00079     Logging::BaseLog::LogRecord lr; \
00080     lr.priority  = Logging::ace2acsPriority(logPriority); \
00081     lr.message   = logMessage; \
00082     lr.file      = __FILE__; \
00083     lr.line      = __LINE__; \
00084     lr.method    = logRoutine; \
00085     lr.timeStamp = getTimeStamp(); \
00086     LoggingProxy::audience(logAudience); \
00087     LoggingProxy::array(logArray); \
00088     LoggingProxy::antenna(logAntenna); \
00089     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00090     getLogger()->log(lr); \
00091          LoggingProxy::audience(NULL); \
00092 } \
00093 else \
00094 { \
00095   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00096   std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00097 }
00098 
00108 #define LOG_WITH_ANTENNA_CONTEXT(logPriority, logRoutine, logMessage, logArray, logAntenna) \
00109 if (getLogger()!=0) \
00110 { \
00111     Logging::BaseLog::LogRecord lr; \
00112     lr.priority  = Logging::ace2acsPriority(logPriority); \
00113     lr.message   = logMessage; \
00114     lr.file      = __FILE__; \
00115     lr.line      = __LINE__; \
00116     lr.method    = logRoutine; \
00117     lr.timeStamp = getTimeStamp(); \
00118     LoggingProxy::array(logArray); \
00119     LoggingProxy::antenna(logAntenna); \
00120     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00121     getLogger()->log(lr); \
00122 } \
00123 else \
00124 { \
00125   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00126   std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00127 }
00128 
00137 #define LOG_TO_AUDIENCE(logPriority, logRoutine, logMessage, logAudience) \
00138 if (getLogger()!=0) \
00139 { \
00140     Logging::BaseLog::LogRecord lr; \
00141     lr.priority  = Logging::ace2acsPriority(logPriority); \
00142     lr.message   = logMessage; \
00143     lr.file      = __FILE__; \
00144     lr.line      = __LINE__; \
00145     lr.method    = logRoutine; \
00146     lr.timeStamp = getTimeStamp(); \
00147     LoggingProxy::audience(logAudience); \
00148     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00149     getLogger()->log(lr); \
00150          LoggingProxy::audience(NULL); \
00151 } \
00152 else \
00153 { \
00154   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00155   std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00156 }
00157 
00170 #define LOG_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime, logSource) \
00171 if (getLogger()!=0) \
00172 { \
00173     Logging::BaseLog::LogRecord lr; \
00174     lr.priority  = logPriority; \
00175     lr.message   = logMessage; \
00176     lr.file      = logFile; \
00177     lr.line      = logLine; \
00178     lr.method    = logRoutine; \
00179     lr.timeStamp = logTime; \
00180     getNamedLogger(logSource)->log(lr); \
00181 } \
00182 else \
00183 { \
00184   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00185   std::cerr << logFile << ", line=" << logLine << std::endl; \
00186 }
00187 
00188 
00200 #define LOG_GLOBAL_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime) \
00201 if (getLogger()!=0) \
00202 { \
00203     Logging::BaseLog::LogRecord lr; \
00204     lr.priority  = logPriority; \
00205     lr.message   = logMessage; \
00206     lr.file      = logFile; \
00207     lr.line      = logLine; \
00208     lr.method    = logRoutine; \
00209     lr.timeStamp = logTime; \
00210     getLogger()->log(lr); \
00211 } \
00212 else \
00213 { \
00214   std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00215   std::cerr << logFile << ", line=" << logLine << std::endl; \
00216 }
00217 
00218 
00227 #define STATIC_LOG(priority, routine, text) \
00228 Logging::Logger::getStaticLogger()->log(priority, text, __FILE__, __LINE__, routine);
00229 
00241 #define STATIC_LOG_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime) \
00242 { \
00243     Logging::BaseLog::LogRecord lr; \
00244     lr.priority  = logPriority; \
00245     lr.message   = logMessage; \
00246     lr.file      = logFile; \
00247     lr.line      = logLine; \
00248     lr.method    = logRoutine; \
00249     lr.timeStamp = logTime; \
00250     Logging::Logger::getStaticLogger()->log(lr); \
00251 }
00252 
00262 #define STATIC_LOG_TO_AUDIENCE(priority, routine, text, logAudience) \
00263     LoggingProxy::audience(logAudience); \
00264     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00265     Logging::Logger::getStaticLogger()->log(Logging::ace2acsPriority(priority), text, __FILE__, __LINE__, routine);
00266 
00273 #define AUTO_TRACE(routine) \
00274 Logging::LogTrace::LogTraceSmartPtr __autoTraceLogTraceSmartPtrInstance(new Logging::LogTrace(getLogger(), routine, __FILE__, __LINE__));
00275 
00282 #define AUTO_STATIC_TRACE(routine) \
00283 Logging::LogTrace::LogTraceSmartPtr __autoTraceLogTraceSmartPtrInstance(new Logging::LogTrace(Logging::Logger::getStaticLogger(), routine, __FILE__, __LINE__));
00284 
00292 #define LOG_TO_DEVELOPER(logPriority, logMessage) \
00293     LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::DEVELOPER);
00294 
00302 #define STATIC_LOG_TO_DEVELOPER(logPriority, logMessage) \
00303     STATIC_LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::DEVELOPER);
00304 
00312 #define LOG_TO_OPERATOR( logPriority, logMessage) \
00313     LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::OPERATOR);
00314 
00322 #define STATIC_LOG_TO_OPERATOR( logPriority, logMessage) \
00323     STATIC_LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::OPERATOR);
00324 
00332 #define LOG_TO_SCIENCE( logPriority, logMessage) \
00333     LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::SCILOG);
00334 
00342 #define STATIC_LOG_TO_SCIENCE( logPriority, logMessage) \
00343     STATIC_LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::SCILOG);
00344 
00355 #define LOG_TO_SCILOG( logPriority, logMessage) \
00356     LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::SCILOG);
00357 
00368 #define STATIC_LOG_TO_SCILOG( logPriority, logMessage) \
00369     STATIC_LOG_TO_AUDIENCE(logPriority, __PRETTY_FUNCTION__, logMessage, log_audience::SCILOG);
00370 
00380 #define LOG_TO_AUDIENCE_WITH_LOGGER(logPriority, logMessage, logAudience, logger) \
00381 if (logger != 0) { \
00382     Logging::BaseLog::LogRecord lr; \
00383     lr.priority  = Logging::ace2acsPriority(logPriority); \
00384     lr.message   = logMessage; \
00385     lr.file      = __FILE__; \
00386     lr.line      = __LINE__; \
00387     lr.method    = __PRETTY_FUNCTION__; \
00388     lr.timeStamp = ::getTimeStamp();     \
00389     LoggingProxy::audience(logAudience); \
00390     LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \
00391     logger->log(lr); \
00392 } else { \
00393     std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \
00394     std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \
00395 }
00396 
00405 #define LOG_TO_OPERATOR_WITH_LOGGER( logPriority, logMessage, logger) \
00406     LOG_TO_AUDIENCE_WITH_LOGGER(logPriority, logMessage, log_audience::OPERATOR, logger);
00407 
00416 #define LOG_TO_DEVELOPER_WITH_LOGGER(logPriority, logMessage, logger) \
00417     LOG_TO_AUDIENCE_WITH_LOGGER(logPriority, logMessage, log_audience::DEVELOPER, logger);
00418 
00419 #else
00420 #include "loggingLog4cppMACROS.h"
00421 #endif
00422 
00423 #endif 

Generated on Thu Jan 12 2012 23:13:51 for ACS-10.0 C++ API by  doxygen 1.7.0