Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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.21.2.1 2009/03/11 10:04:54 bjeram Exp $" 00022 * 00023 * who when what 00024 * -------- -------- ---------------------------------------------- 00025 * dfugate 2005-04-04 created 00026 */ 00027 00028 #ifndef __cplusplus 00029 #error This is a C++ include file and cannot be used from plain C 00030 #endif 00031 00032 #include "loggingLogger.h" 00033 #include "loggingLogTrace.h" 00034 #include "loggingGetLogger.h" 00035 #include <iostream> 00036 #include <acsutilTimeStamp.h> 00037 00047 #define LOG(priority, routine, text) \ 00048 if (getLogger()!=0) \ 00049 { \ 00050 getLogger()->log(priority, text, __FILE__, __LINE__, routine); \ 00051 } \ 00052 else \ 00053 { \ 00054 std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \ 00055 std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \ 00056 } 00057 00058 00069 #define LOG_FULL(logPriority, logRoutine, logMessage, logAudience, logArray, logAntenna) \ 00070 if (getLogger()!=0) \ 00071 { \ 00072 Logging::BaseLog::LogRecord lr; \ 00073 lr.priority = Logging::ace2acsPriority(logPriority); \ 00074 lr.message = logMessage; \ 00075 lr.file = __FILE__; \ 00076 lr.line = __LINE__; \ 00077 lr.method = logRoutine; \ 00078 lr.timeStamp = getTimeStamp(); \ 00079 LoggingProxy::audience(logAudience); \ 00080 LoggingProxy::array(logArray); \ 00081 LoggingProxy::antenna(logAntenna); \ 00082 LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \ 00083 getLogger()->log(lr); \ 00084 } \ 00085 else \ 00086 { \ 00087 std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \ 00088 std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \ 00089 } 00090 00100 #define LOG_WITH_ANTENNA_CONTEXT(logPriority, logRoutine, logMessage, logArray, logAntenna) \ 00101 if (getLogger()!=0) \ 00102 { \ 00103 Logging::BaseLog::LogRecord lr; \ 00104 lr.priority = Logging::ace2acsPriority(logPriority); \ 00105 lr.message = logMessage; \ 00106 lr.file = __FILE__; \ 00107 lr.line = __LINE__; \ 00108 lr.method = logRoutine; \ 00109 lr.timeStamp = getTimeStamp(); \ 00110 LoggingProxy::array(logArray); \ 00111 LoggingProxy::antenna(logAntenna); \ 00112 LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \ 00113 getLogger()->log(lr); \ 00114 } \ 00115 else \ 00116 { \ 00117 std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \ 00118 std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \ 00119 } 00120 00129 #define LOG_TO_AUDIENCE(logPriority, logRoutine, logMessage, logAudience) \ 00130 if (getLogger()!=0) \ 00131 { \ 00132 Logging::BaseLog::LogRecord lr; \ 00133 lr.priority = Logging::ace2acsPriority(logPriority); \ 00134 lr.message = logMessage; \ 00135 lr.file = __FILE__; \ 00136 lr.line = __LINE__; \ 00137 lr.method = logRoutine; \ 00138 lr.timeStamp = getTimeStamp(); \ 00139 LoggingProxy::audience(logAudience); \ 00140 LoggingProxy::Flags(LM_SOURCE_INFO | LM_RUNTIME_CONTEXT); \ 00141 getLogger()->log(lr); \ 00142 } \ 00143 else \ 00144 { \ 00145 std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \ 00146 std::cerr << __FILE__ << ", line=" << __LINE__ << std::endl; \ 00147 } 00148 00161 #define LOG_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime, logSource) \ 00162 if (getLogger()!=0) \ 00163 { \ 00164 Logging::BaseLog::LogRecord lr; \ 00165 lr.priority = logPriority; \ 00166 lr.message = logMessage; \ 00167 lr.file = logFile; \ 00168 lr.line = logLine; \ 00169 lr.method = logRoutine; \ 00170 lr.timeStamp = logTime; \ 00171 getNamedLogger(logSource)->log(lr); \ 00172 } \ 00173 else \ 00174 { \ 00175 std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \ 00176 std::cerr << logFile << ", line=" << logLine << std::endl; \ 00177 } 00178 00179 00191 #define LOG_GLOBAL_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime) \ 00192 if (getLogger()!=0) \ 00193 { \ 00194 Logging::BaseLog::LogRecord lr; \ 00195 lr.priority = logPriority; \ 00196 lr.message = logMessage; \ 00197 lr.file = logFile; \ 00198 lr.line = logLine; \ 00199 lr.method = logRoutine; \ 00200 lr.timeStamp = logTime; \ 00201 getLogger()->log(lr); \ 00202 } \ 00203 else \ 00204 { \ 00205 std::cerr << "SEVERE LOGGING ERROR - getLogger() returned NULL: file="; \ 00206 std::cerr << logFile << ", line=" << logLine << std::endl; \ 00207 } 00208 00209 00218 #define STATIC_LOG(priority, routine, text) \ 00219 Logging::Logger::getStaticLogger()->log(priority, text, __FILE__, __LINE__, routine); 00220 00232 #define STATIC_LOG_RECORD(logPriority, logMessage, logFile, logLine, logRoutine, logTime) \ 00233 { \ 00234 Logging::BaseLog::LogRecord lr; \ 00235 lr.priority = logPriority; \ 00236 lr.message = logMessage; \ 00237 lr.file = logFile; \ 00238 lr.line = logLine; \ 00239 lr.method = logRoutine; \ 00240 lr.timeStamp = logTime; \ 00241 Logging::Logger::getStaticLogger()->log(lr); \ 00242 } 00243 00250 #define AUTO_TRACE(routine) \ 00251 if (getLogger()!=0) \ 00252 { \ 00253 Logging::LogTrace::LogTraceSmartPtr __autoTraceLogTraceSmartPtrInstance(new Logging::LogTrace(getLogger(), routine, __FILE__, __LINE__)); \ 00254 } \ 00255 else \ 00256 { \ 00257 std::cerr << "SEVERE LOGGING ERROR IN AUTO_TRACE - getLogger() returned NULL: routine="; \ 00258 std::cerr << routine << std::endl; \ 00259 } 00260 00266 #define AUTO_STATIC_TRACE(routine) \ 00267 Logging::LogTrace::LogTraceSmartPtr __autoTraceLogTraceSmartPtrInstance(new Logging::LogTrace(Logging::Logger::getStaticLogger(), routine, __FILE__, __LINE__)); 00268 00269 #endif

Generated on Thu Apr 30 02:30:51 2009 for ACS C++ API by doxygen 1.3.8