AtxLogging.h

Go to the documentation of this file.
00001 /*****************************************************************
00002 |
00003 |   Atomix - Logging Support
00004 |
00005 |   (c) 2002-2006 Gilles Boccon-Gibod
00006 |   Author: Gilles Boccon-Gibod (bok@bok.net)
00007 |
00008 ****************************************************************/
00013 #ifndef _ATX_LOGGING_H_
00014 #define _ATX_LOGGING_H_
00015 
00016 /*----------------------------------------------------------------------
00017 |   includes
00018 +---------------------------------------------------------------------*/
00019 #include "AtxConfig.h"
00020 #include "AtxDebug.h"
00021 #include "AtxTypes.h"
00022 #include "AtxTime.h"
00023 #include "AtxString.h"
00024 
00025 /*----------------------------------------------------------------------
00026 |   types
00027 +---------------------------------------------------------------------*/
00028 typedef struct {
00029     const char*   logger_name;
00030     int           level;
00031     const char*   message;
00032     ATX_TimeStamp timestamp;
00033     const char*   source_file;
00034     unsigned int  source_line;
00035 } ATX_LogRecord;
00036 
00037 typedef struct ATX_Logger ATX_Logger;
00038 typedef struct ATX_LogHandlerInstance ATX_LogHandlerInstance;
00039 typedef struct ATX_LogHandler ATX_LogHandler;
00040 typedef struct ATX_LogHandlerEntry ATX_LogHandlerEntry;
00041 typedef struct ATX_LogManagerLockerInstance ATX_LogManagerLockerInstance;
00042 typedef struct ATX_LogManagerLocker ATX_LogManagerLocker;
00043 
00044 typedef struct {
00045     void (*Log)(ATX_LogHandler* self, const ATX_LogRecord* record);
00046     void (*Destroy)(ATX_LogHandler* self);
00047 } ATX_LogHandlerInterface;
00048 
00049 struct ATX_LogHandler {
00050     ATX_LogHandlerInstance*        instance;
00051     const ATX_LogHandlerInterface* iface;
00052 };
00053 
00054 typedef struct {
00055     ATX_Result (*Lock)(ATX_LogManagerLocker* self);
00056     ATX_Result (*Unlock)(ATX_LogManagerLocker* self);
00057 } ATX_LogManagerLockerInterface;
00058 
00059 struct ATX_LogManagerLocker {
00060     ATX_LogManagerLockerInstance*  instance;
00061     ATX_LogManagerLockerInterface* iface;
00062 };
00063 
00064 struct ATX_LogHandlerEntry {
00065     ATX_LogHandler       handler;
00066     ATX_LogHandlerEntry* next;
00067 };
00068 
00069 struct ATX_Logger {
00070     ATX_String           name;
00071     int                  level;
00072     ATX_Boolean          level_is_inherited;
00073     ATX_Boolean          forward_to_parent;
00074     ATX_Logger*          parent;
00075     ATX_LogHandlerEntry* handlers;
00076 };
00077 
00078 typedef struct {
00079     ATX_Logger* logger;
00080     const char* name;
00081 } ATX_LoggerReference;
00082 
00083 /*----------------------------------------------------------------------
00084 |   constants
00085 +---------------------------------------------------------------------*/
00086 #define ATX_LOG_LEVEL_FATAL   700
00087 #define ATX_LOG_LEVEL_SEVERE  600 
00088 #define ATX_LOG_LEVEL_WARNING 500
00089 #define ATX_LOG_LEVEL_INFO    400
00090 #define ATX_LOG_LEVEL_FINE    300
00091 #define ATX_LOG_LEVEL_FINER   200
00092 #define ATX_LOG_LEVEL_FINEST  100 
00093 
00094 #define ATX_LOG_LEVEL_OFF     32767
00095 #define ATX_LOG_LEVEL_ALL     0
00096 
00097 /*----------------------------------------------------------------------
00098 |   macros
00099 +---------------------------------------------------------------------*/
00100 #define ATX_LOG_GET_LOGGER(_logger)                           \
00101     if ((_logger).logger == NULL) {                           \
00102         (_logger).logger = ATX_Log_GetLogger((_logger).name); \
00103     }
00104 
00105 #define ATX_LOG(_level, _msg) ATX_LOG_L(_ATX_LocalLogger, (_level), (_msg))
00106 #define ATX_LOG_1(_level, _msg, _arg1) \
00107     ATX_LOG_L1(_ATX_LocalLogger, (_level), (_msg), (_arg1)) 
00108 #define ATX_LOG_2(_level, _msg, _arg1, _arg2) \
00109     ATX_LOG_L2(_ATX_LocalLogger, (_level), (_msg), (_arg1), (_arg2))
00110 #define ATX_LOG_3(_level, _msg, _arg1, _arg2, _arg3) \
00111     ATX_LOG_L3(_ATX_LocalLogger, (_level), (_msg), (_arg1), (_arg2), (_arg3))
00112 #define ATX_LOG_4(_level, _msg, _arg1, _arg2, _arg3, _arg4) \
00113     ATX_LOG_L4(_ATX_LocalLogger, (_level), (_msg), (_arg1), (_arg2), (_arg3), (_arg4))
00114 #define ATX_LOG_5(_level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5) \
00115     ATX_LOG_L5(_ATX_LocalLogger, (_level), (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5))
00116 #define ATX_LOG_6(_level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6) \
00117     ATX_LOG_L6(_ATX_LocalLogger, (_level), (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5), (_arg6))
00118 #define ATX_LOG_7(_level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7) \
00119     ATX_LOG_L7(_ATX_LocalLogger, (_level), (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5), (_arg6), (_arg7))
00120 #define ATX_LOG_8(_level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8) \
00121     ATX_LOG_L8(_ATX_LocalLogger, (_level), (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5), (_arg6), (_arg7), (_arg8))
00122 #define ATX_LOG_9(_level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9) \
00123     ATX_LOG_L9(_ATX_LocalLogger, (_level), (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5), (_arg6), (_arg7), (_arg8), (_arg9))
00124 
00125 
00126 #if defined(ATX_CONFIG_ENABLE_LOGGING)
00127 #define ATX_DEFINE_LOGGER(_logger, _name) \
00128     static ATX_LoggerReference _logger = { NULL, (_name) };
00129 
00130 #define ATX_LOG_LX(_logger, _level, _argsx)                          \
00131 do {                                                                 \
00132     ATX_LOG_GET_LOGGER((_logger))                                    \
00133     if ((_logger).logger && (_level) >= (_logger).logger->level) {   \
00134         ATX_Logger_Log _argsx;                                       \
00135     }                                                                \
00136 } while(0)
00137 #define ATX_LOG_L(_logger, _level, _msg) \
00138     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg)) )
00139 #define ATX_LOG_L1(_logger, _level, _msg, _arg1) \
00140     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1)) )
00141 #define ATX_LOG_L2(_logger, _level, _msg, _arg1, _arg2) \
00142     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1), (_arg2)) )
00143 #define ATX_LOG_L3(_logger, _level, _msg, _arg1, _arg2, _arg3) \
00144     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1), (_arg2), (_arg3)) )
00145 #define ATX_LOG_L4(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4) \
00146     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1), (_arg2), (_arg3), (_arg4)) )
00147 #define ATX_LOG_L5(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5) \
00148     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5)) )
00149 #define ATX_LOG_L6(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6) \
00150     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5), (_arg6)) )
00151 #define ATX_LOG_L7(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7) \
00152     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5), (_arg6), (_arg7)) )
00153 #define ATX_LOG_L8(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8) \
00154     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5), (_arg6), (_arg7), (_arg8)) )
00155 #define ATX_LOG_L9(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9) \
00156     ATX_LOG_LX(_logger, _level, ((_logger).logger, (_level), __FILE__, __LINE__, (_msg), (_arg1), (_arg2), (_arg3), (_arg4), (_arg5), (_arg6), (_arg7), (_arg8), (_arg9)) )
00157 
00158 #define ATX_CHECK_LL(_logger, _level, _result) do {                                    \
00159     ATX_Result _x = (_result);                                                         \
00160     if (_x != ATX_SUCCESS) {                                                           \
00161         ATX_LOG_L2(_logger, _level, "ATX_CHECK failed, result=%d [%s]", _x, #_result); \
00162         return _x;                                                                     \
00163     }                                                                                  \
00164 } while(0)
00165 #define ATX_CHECK_LABEL_LL(_logger, _level, _result, _label) do {                      \
00166     ATX_Result _x = (_result);                                                         \
00167     if (_x != ATX_SUCCESS) {                                                           \
00168         ATX_LOG_L2(_logger, _level, "ATX_CHECK failed, result=%d [%s]", _x, #_result); \
00169         goto _label;                                                                   \
00170     }                                                                                  \
00171 } while(0)
00172 
00173 #else /* ATX_CONFIG_ENABLE_LOGGING */
00174 #define ATX_DEFINE_LOGGER(_logger, _name)
00175 #define ATX_LOG_L(_logger, _level, _msg)
00176 #define ATX_LOG_L1(_logger, _level, _msg, _arg1)
00177 #define ATX_LOG_L2(_logger, _level, _msg, _arg1, _arg2)
00178 #define ATX_LOG_L3(_logger, _level, _msg, _arg1, _arg2, _arg3)
00179 #define ATX_LOG_L4(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4)
00180 #define ATX_LOG_L5(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5)
00181 #define ATX_LOG_L6(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6)
00182 #define ATX_LOG_L7(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)
00183 #define ATX_LOG_L8(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8)
00184 #define ATX_LOG_L9(_logger, _level, _msg, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9)
00185 
00186 #define ATX_CHECK_LL(_logger, _level, _result) ATX_CHECK(_result)
00187 #define ATX_CHECK_LABEL_LL(_logger, _level, _result, _label) ATX_CHECK_LABEL(_result, _label)
00188 
00189 #endif /* ATX_CONFIG_ENABLE_LOGGING */
00190 
00191 #define ATX_SET_LOCAL_LOGGER(_name) \
00192     ATX_DEFINE_LOGGER(_ATX_LocalLogger, (_name))
00193 
00194 /* NOTE: the following are machine-generated, do not edit */
00195 #define ATX_LOG_FATAL_L(_logger, _msg) ATX_LOG_L((_logger), ATX_LOG_LEVEL_FATAL, (_msg))
00196 #define ATX_LOG_FATAL(_msg) ATX_LOG_FATAL_L(_ATX_LocalLogger, (_msg))
00197 #define ATX_LOG_FATAL_L1(_logger, _msg,_arg1) ATX_LOG_L1((_logger), ATX_LOG_LEVEL_FATAL, (_msg),(_arg1))
00198 #define ATX_LOG_FATAL_1(_msg,_arg1) ATX_LOG_FATAL_L1(_ATX_LocalLogger, (_msg),(_arg1))
00199 #define ATX_LOG_FATAL_L2(_logger, _msg,_arg1,_arg2) ATX_LOG_L2((_logger), ATX_LOG_LEVEL_FATAL, (_msg),(_arg1),(_arg2))
00200 #define ATX_LOG_FATAL_2(_msg,_arg1,_arg2) ATX_LOG_FATAL_L2(_ATX_LocalLogger, (_msg),(_arg1),(_arg2))
00201 #define ATX_LOG_FATAL_L3(_logger, _msg,_arg1,_arg2,_arg3) ATX_LOG_L3((_logger), ATX_LOG_LEVEL_FATAL, (_msg),(_arg1),(_arg2),(_arg3))
00202 #define ATX_LOG_FATAL_3(_msg,_arg1,_arg2,_arg3) ATX_LOG_FATAL_L3(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3))
00203 #define ATX_LOG_FATAL_L4(_logger, _msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_L4((_logger), ATX_LOG_LEVEL_FATAL, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00204 #define ATX_LOG_FATAL_4(_msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_FATAL_L4(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00205 #define ATX_LOG_FATAL_L5(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_L5((_logger), ATX_LOG_LEVEL_FATAL, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00206 #define ATX_LOG_FATAL_5(_msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_FATAL_L5(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00207 #define ATX_LOG_FATAL_L6(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_L6((_logger), ATX_LOG_LEVEL_FATAL, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00208 #define ATX_LOG_FATAL_6(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_FATAL_L6(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00209 #define ATX_LOG_FATAL_L7(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_L7((_logger), ATX_LOG_LEVEL_FATAL, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00210 #define ATX_LOG_FATAL_7(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_FATAL_L7(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00211 #define ATX_LOG_FATAL_L8(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_L8((_logger), ATX_LOG_LEVEL_FATAL, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00212 #define ATX_LOG_FATAL_8(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_FATAL_L8(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00213 #define ATX_LOG_SEVERE_L(_logger, _msg) ATX_LOG_L((_logger), ATX_LOG_LEVEL_SEVERE, (_msg))
00214 #define ATX_LOG_SEVERE(_msg) ATX_LOG_SEVERE_L(_ATX_LocalLogger, (_msg))
00215 #define ATX_LOG_SEVERE_L1(_logger, _msg,_arg1) ATX_LOG_L1((_logger), ATX_LOG_LEVEL_SEVERE, (_msg),(_arg1))
00216 #define ATX_LOG_SEVERE_1(_msg,_arg1) ATX_LOG_SEVERE_L1(_ATX_LocalLogger, (_msg),(_arg1))
00217 #define ATX_LOG_SEVERE_L2(_logger, _msg,_arg1,_arg2) ATX_LOG_L2((_logger), ATX_LOG_LEVEL_SEVERE, (_msg),(_arg1),(_arg2))
00218 #define ATX_LOG_SEVERE_2(_msg,_arg1,_arg2) ATX_LOG_SEVERE_L2(_ATX_LocalLogger, (_msg),(_arg1),(_arg2))
00219 #define ATX_LOG_SEVERE_L3(_logger, _msg,_arg1,_arg2,_arg3) ATX_LOG_L3((_logger), ATX_LOG_LEVEL_SEVERE, (_msg),(_arg1),(_arg2),(_arg3))
00220 #define ATX_LOG_SEVERE_3(_msg,_arg1,_arg2,_arg3) ATX_LOG_SEVERE_L3(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3))
00221 #define ATX_LOG_SEVERE_L4(_logger, _msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_L4((_logger), ATX_LOG_LEVEL_SEVERE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00222 #define ATX_LOG_SEVERE_4(_msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_SEVERE_L4(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00223 #define ATX_LOG_SEVERE_L5(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_L5((_logger), ATX_LOG_LEVEL_SEVERE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00224 #define ATX_LOG_SEVERE_5(_msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_SEVERE_L5(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00225 #define ATX_LOG_SEVERE_L6(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_L6((_logger), ATX_LOG_LEVEL_SEVERE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00226 #define ATX_LOG_SEVERE_6(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_SEVERE_L6(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00227 #define ATX_LOG_SEVERE_L7(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_L7((_logger), ATX_LOG_LEVEL_SEVERE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00228 #define ATX_LOG_SEVERE_7(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_SEVERE_L7(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00229 #define ATX_LOG_SEVERE_L8(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_L8((_logger), ATX_LOG_LEVEL_SEVERE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00230 #define ATX_LOG_SEVERE_8(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_SEVERE_L8(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00231 #define ATX_LOG_WARNING_L(_logger, _msg) ATX_LOG_L((_logger), ATX_LOG_LEVEL_WARNING, (_msg))
00232 #define ATX_LOG_WARNING(_msg) ATX_LOG_WARNING_L(_ATX_LocalLogger, (_msg))
00233 #define ATX_LOG_WARNING_L1(_logger, _msg,_arg1) ATX_LOG_L1((_logger), ATX_LOG_LEVEL_WARNING, (_msg),(_arg1))
00234 #define ATX_LOG_WARNING_1(_msg,_arg1) ATX_LOG_WARNING_L1(_ATX_LocalLogger, (_msg),(_arg1))
00235 #define ATX_LOG_WARNING_L2(_logger, _msg,_arg1,_arg2) ATX_LOG_L2((_logger), ATX_LOG_LEVEL_WARNING, (_msg),(_arg1),(_arg2))
00236 #define ATX_LOG_WARNING_2(_msg,_arg1,_arg2) ATX_LOG_WARNING_L2(_ATX_LocalLogger, (_msg),(_arg1),(_arg2))
00237 #define ATX_LOG_WARNING_L3(_logger, _msg,_arg1,_arg2,_arg3) ATX_LOG_L3((_logger), ATX_LOG_LEVEL_WARNING, (_msg),(_arg1),(_arg2),(_arg3))
00238 #define ATX_LOG_WARNING_3(_msg,_arg1,_arg2,_arg3) ATX_LOG_WARNING_L3(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3))
00239 #define ATX_LOG_WARNING_L4(_logger, _msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_L4((_logger), ATX_LOG_LEVEL_WARNING, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00240 #define ATX_LOG_WARNING_4(_msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_WARNING_L4(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00241 #define ATX_LOG_WARNING_L5(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_L5((_logger), ATX_LOG_LEVEL_WARNING, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00242 #define ATX_LOG_WARNING_5(_msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_WARNING_L5(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00243 #define ATX_LOG_WARNING_L6(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_L6((_logger), ATX_LOG_LEVEL_WARNING, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00244 #define ATX_LOG_WARNING_6(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_WARNING_L6(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00245 #define ATX_LOG_WARNING_L7(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_L7((_logger), ATX_LOG_LEVEL_WARNING, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00246 #define ATX_LOG_WARNING_7(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_WARNING_L7(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00247 #define ATX_LOG_WARNING_L8(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_L8((_logger), ATX_LOG_LEVEL_WARNING, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00248 #define ATX_LOG_WARNING_8(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_WARNING_L8(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00249 #define ATX_LOG_INFO_L(_logger, _msg) ATX_LOG_L((_logger), ATX_LOG_LEVEL_INFO, (_msg))
00250 #define ATX_LOG_INFO(_msg) ATX_LOG_INFO_L(_ATX_LocalLogger, (_msg))
00251 #define ATX_LOG_INFO_L1(_logger, _msg,_arg1) ATX_LOG_L1((_logger), ATX_LOG_LEVEL_INFO, (_msg),(_arg1))
00252 #define ATX_LOG_INFO_1(_msg,_arg1) ATX_LOG_INFO_L1(_ATX_LocalLogger, (_msg),(_arg1))
00253 #define ATX_LOG_INFO_L2(_logger, _msg,_arg1,_arg2) ATX_LOG_L2((_logger), ATX_LOG_LEVEL_INFO, (_msg),(_arg1),(_arg2))
00254 #define ATX_LOG_INFO_2(_msg,_arg1,_arg2) ATX_LOG_INFO_L2(_ATX_LocalLogger, (_msg),(_arg1),(_arg2))
00255 #define ATX_LOG_INFO_L3(_logger, _msg,_arg1,_arg2,_arg3) ATX_LOG_L3((_logger), ATX_LOG_LEVEL_INFO, (_msg),(_arg1),(_arg2),(_arg3))
00256 #define ATX_LOG_INFO_3(_msg,_arg1,_arg2,_arg3) ATX_LOG_INFO_L3(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3))
00257 #define ATX_LOG_INFO_L4(_logger, _msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_L4((_logger), ATX_LOG_LEVEL_INFO, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00258 #define ATX_LOG_INFO_4(_msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_INFO_L4(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00259 #define ATX_LOG_INFO_L5(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_L5((_logger), ATX_LOG_LEVEL_INFO, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00260 #define ATX_LOG_INFO_5(_msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_INFO_L5(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00261 #define ATX_LOG_INFO_L6(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_L6((_logger), ATX_LOG_LEVEL_INFO, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00262 #define ATX_LOG_INFO_6(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_INFO_L6(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00263 #define ATX_LOG_INFO_L7(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_L7((_logger), ATX_LOG_LEVEL_INFO, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00264 #define ATX_LOG_INFO_7(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_INFO_L7(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00265 #define ATX_LOG_INFO_L8(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_L8((_logger), ATX_LOG_LEVEL_INFO, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00266 #define ATX_LOG_INFO_8(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_INFO_L8(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00267 #define ATX_LOG_FINE_L(_logger, _msg) ATX_LOG_L((_logger), ATX_LOG_LEVEL_FINE, (_msg))
00268 #define ATX_LOG_FINE(_msg) ATX_LOG_FINE_L(_ATX_LocalLogger, (_msg))
00269 #define ATX_LOG_FINE_L1(_logger, _msg,_arg1) ATX_LOG_L1((_logger), ATX_LOG_LEVEL_FINE, (_msg),(_arg1))
00270 #define ATX_LOG_FINE_1(_msg,_arg1) ATX_LOG_FINE_L1(_ATX_LocalLogger, (_msg),(_arg1))
00271 #define ATX_LOG_FINE_L2(_logger, _msg,_arg1,_arg2) ATX_LOG_L2((_logger), ATX_LOG_LEVEL_FINE, (_msg),(_arg1),(_arg2))
00272 #define ATX_LOG_FINE_2(_msg,_arg1,_arg2) ATX_LOG_FINE_L2(_ATX_LocalLogger, (_msg),(_arg1),(_arg2))
00273 #define ATX_LOG_FINE_L3(_logger, _msg,_arg1,_arg2,_arg3) ATX_LOG_L3((_logger), ATX_LOG_LEVEL_FINE, (_msg),(_arg1),(_arg2),(_arg3))
00274 #define ATX_LOG_FINE_3(_msg,_arg1,_arg2,_arg3) ATX_LOG_FINE_L3(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3))
00275 #define ATX_LOG_FINE_L4(_logger, _msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_L4((_logger), ATX_LOG_LEVEL_FINE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00276 #define ATX_LOG_FINE_4(_msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_FINE_L4(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00277 #define ATX_LOG_FINE_L5(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_L5((_logger), ATX_LOG_LEVEL_FINE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00278 #define ATX_LOG_FINE_5(_msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_FINE_L5(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00279 #define ATX_LOG_FINE_L6(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_L6((_logger), ATX_LOG_LEVEL_FINE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00280 #define ATX_LOG_FINE_6(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_FINE_L6(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00281 #define ATX_LOG_FINE_L7(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_L7((_logger), ATX_LOG_LEVEL_FINE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00282 #define ATX_LOG_FINE_7(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_FINE_L7(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00283 #define ATX_LOG_FINE_L8(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_L8((_logger), ATX_LOG_LEVEL_FINE, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00284 #define ATX_LOG_FINE_8(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_FINE_L8(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00285 #define ATX_LOG_FINER_L(_logger, _msg) ATX_LOG_L((_logger), ATX_LOG_LEVEL_FINER, (_msg))
00286 #define ATX_LOG_FINER(_msg) ATX_LOG_FINER_L(_ATX_LocalLogger, (_msg))
00287 #define ATX_LOG_FINER_L1(_logger, _msg,_arg1) ATX_LOG_L1((_logger), ATX_LOG_LEVEL_FINER, (_msg),(_arg1))
00288 #define ATX_LOG_FINER_1(_msg,_arg1) ATX_LOG_FINER_L1(_ATX_LocalLogger, (_msg),(_arg1))
00289 #define ATX_LOG_FINER_L2(_logger, _msg,_arg1,_arg2) ATX_LOG_L2((_logger), ATX_LOG_LEVEL_FINER, (_msg),(_arg1),(_arg2))
00290 #define ATX_LOG_FINER_2(_msg,_arg1,_arg2) ATX_LOG_FINER_L2(_ATX_LocalLogger, (_msg),(_arg1),(_arg2))
00291 #define ATX_LOG_FINER_L3(_logger, _msg,_arg1,_arg2,_arg3) ATX_LOG_L3((_logger), ATX_LOG_LEVEL_FINER, (_msg),(_arg1),(_arg2),(_arg3))
00292 #define ATX_LOG_FINER_3(_msg,_arg1,_arg2,_arg3) ATX_LOG_FINER_L3(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3))
00293 #define ATX_LOG_FINER_L4(_logger, _msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_L4((_logger), ATX_LOG_LEVEL_FINER, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00294 #define ATX_LOG_FINER_4(_msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_FINER_L4(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00295 #define ATX_LOG_FINER_L5(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_L5((_logger), ATX_LOG_LEVEL_FINER, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00296 #define ATX_LOG_FINER_5(_msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_FINER_L5(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00297 #define ATX_LOG_FINER_L6(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_L6((_logger), ATX_LOG_LEVEL_FINER, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00298 #define ATX_LOG_FINER_6(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_FINER_L6(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00299 #define ATX_LOG_FINER_L7(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_L7((_logger), ATX_LOG_LEVEL_FINER, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00300 #define ATX_LOG_FINER_7(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_FINER_L7(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00301 #define ATX_LOG_FINER_L8(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_L8((_logger), ATX_LOG_LEVEL_FINER, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00302 #define ATX_LOG_FINER_8(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_FINER_L8(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00303 #define ATX_LOG_FINEST_L(_logger, _msg) ATX_LOG_L((_logger), ATX_LOG_LEVEL_FINEST, (_msg))
00304 #define ATX_LOG_FINEST(_msg) ATX_LOG_FINEST_L(_ATX_LocalLogger, (_msg))
00305 #define ATX_LOG_FINEST_L1(_logger, _msg,_arg1) ATX_LOG_L1((_logger), ATX_LOG_LEVEL_FINEST, (_msg),(_arg1))
00306 #define ATX_LOG_FINEST_1(_msg,_arg1) ATX_LOG_FINEST_L1(_ATX_LocalLogger, (_msg),(_arg1))
00307 #define ATX_LOG_FINEST_L2(_logger, _msg,_arg1,_arg2) ATX_LOG_L2((_logger), ATX_LOG_LEVEL_FINEST, (_msg),(_arg1),(_arg2))
00308 #define ATX_LOG_FINEST_2(_msg,_arg1,_arg2) ATX_LOG_FINEST_L2(_ATX_LocalLogger, (_msg),(_arg1),(_arg2))
00309 #define ATX_LOG_FINEST_L3(_logger, _msg,_arg1,_arg2,_arg3) ATX_LOG_L3((_logger), ATX_LOG_LEVEL_FINEST, (_msg),(_arg1),(_arg2),(_arg3))
00310 #define ATX_LOG_FINEST_3(_msg,_arg1,_arg2,_arg3) ATX_LOG_FINEST_L3(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3))
00311 #define ATX_LOG_FINEST_L4(_logger, _msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_L4((_logger), ATX_LOG_LEVEL_FINEST, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00312 #define ATX_LOG_FINEST_4(_msg,_arg1,_arg2,_arg3,_arg4) ATX_LOG_FINEST_L4(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4))
00313 #define ATX_LOG_FINEST_L5(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_L5((_logger), ATX_LOG_LEVEL_FINEST, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00314 #define ATX_LOG_FINEST_5(_msg,_arg1,_arg2,_arg3,_arg4,_arg5) ATX_LOG_FINEST_L5(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5))
00315 #define ATX_LOG_FINEST_L6(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_L6((_logger), ATX_LOG_LEVEL_FINEST, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00316 #define ATX_LOG_FINEST_6(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6) ATX_LOG_FINEST_L6(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6))
00317 #define ATX_LOG_FINEST_L7(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_L7((_logger), ATX_LOG_LEVEL_FINEST, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00318 #define ATX_LOG_FINEST_7(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7) ATX_LOG_FINEST_L7(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7))
00319 #define ATX_LOG_FINEST_L8(_logger, _msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_L8((_logger), ATX_LOG_LEVEL_FINEST, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00320 #define ATX_LOG_FINEST_8(_msg,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7,_arg8) ATX_LOG_FINEST_L8(_ATX_LocalLogger, (_msg),(_arg1),(_arg2),(_arg3),(_arg4),(_arg5),(_arg6),(_arg7),(_arg8))
00321 
00322 #define ATX_CHECK_L(_level, _result) ATX_CHECK_LL(_ATX_LocalLogger, _level, _result)
00323 #define ATX_CHECK_FATAL_L(_logger, _result) ATX_CHECK_LL(_logger, ATX_LOG_LEVEL_FATAL, _result)
00324 #define ATX_CHECK_FATAL(_result) ATX_CHECK_L(ATX_LOG_LEVEL_FATAL, _result)
00325 #define ATX_CHECK_SEVERE_L(_logger, _result) ATX_CHECK_LL(_logger, ATX_LOG_LEVEL_SEVERE, _result)
00326 #define ATX_CHECK_SEVERE(_result) ATX_CHECK_L(ATX_LOG_LEVEL_SEVERE, _result)
00327 #define ATX_CHECK_WARNING_L(_logger, _result) ATX_CHECK_LL(_logger, ATX_LOG_LEVEL_WARNING, _result)
00328 #define ATX_CHECK_WARNING(_result) ATX_CHECK_L(ATX_LOG_LEVEL_WARNING, _result)
00329 #define ATX_CHECK_INFO_L(_logger, _result) ATX_CHECK_LL(_logger, ATX_LOG_LEVEL_INFO, _result)
00330 #define ATX_CHECK_INFO(_result) ATX_CHECK_L(ATX_LOG_LEVEL_INFO, _result)
00331 #define ATX_CHECK_FINE_L(_logger, _result) ATX_CHECK_LL(_logger, ATX_LOG_LEVEL_FINE, _result)
00332 #define ATX_CHECK_FINE(_result) ATX_CHECK_L(ATX_LOG_LEVEL_FINE, _result)
00333 #define ATX_CHECK_FINER_L(_logger, _result) ATX_CHECK_LL(_logger, ATX_LOG_LEVEL_FINER, _result)
00334 #define ATX_CHECK_FINER(_result) ATX_CHECK_L(ATX_LOG_LEVEL_FINER, _result)
00335 #define ATX_CHECK_FINEST_L(_logger, _result) ATX_CHECK_LL(_logger, ATX_LOG_LEVEL_FINEST, _result)
00336 #define ATX_CHECK_FINEST(_result) ATX_CHECK_L(ATX_LOG_LEVEL_FINEST, _result)
00337 
00338 #define ATX_CHECK_LABEL_L(_level, _result, _label) ATX_CHECK_LABEL_LL(_ATX_LocalLogger, _level, _result, _label)
00339 #define ATX_CHECK_LABEL_FATAL_L(_logger, _result, _label) ATX_CHECK_LABEL_LL(_logger, ATX_LOG_LEVEL_FATAL, _result, _label)
00340 #define ATX_CHECK_LABEL_FATAL(_result, _label) ATX_CHECK_LABEL_L(ATX_LOG_LEVEL_FATAL, _result, _label)
00341 #define ATX_CHECK_LABEL_SEVERE_L(_logger, _result, _label) ATX_CHECK_LABEL_LL(_logger, ATX_LOG_LEVEL_SEVERE, _result, _label)
00342 #define ATX_CHECK_LABEL_SEVERE(_result, _label) ATX_CHECK_LABEL_L(ATX_LOG_LEVEL_SEVERE, _result, _label)
00343 #define ATX_CHECK_LABEL_WARNING_L(_logger, _result, _label) ATX_CHECK_LABEL_LL(_logger, ATX_LOG_LEVEL_WARNING, _result, _label)
00344 #define ATX_CHECK_LABEL_WARNING(_result, _label) ATX_CHECK_LABEL_L(ATX_LOG_LEVEL_WARNING, _result, _label)
00345 #define ATX_CHECK_LABEL_INFO_L(_logger, _result, _label) ATX_CHECK_LABEL_LL(_logger, ATX_LOG_LEVEL_INFO, _result, _label)
00346 #define ATX_CHECK_LABEL_INFO(_result, _label) ATX_CHECK_LABEL_L(ATX_LOG_LEVEL_INFO, _result, _label)
00347 #define ATX_CHECK_LABEL_FINE_L(_logger, _result, _label) ATX_CHECK_LABEL_LL(_logger, ATX_LOG_LEVEL_FINE, _result, _label)
00348 #define ATX_CHECK_LABEL_FINE(_result, _label) ATX_CHECK_LABEL_L(ATX_LOG_LEVEL_FINE, _result, _label)
00349 #define ATX_CHECK_LABEL_FINER_L(_logger, _result, _label) ATX_CHECK_LABEL_LL(_logger, ATX_LOG_LEVEL_FINER, _result, _label)
00350 #define ATX_CHECK_LABEL_FINER(_result, _label) ATX_CHECK_LABEL_L(ATX_LOG_LEVEL_FINER, _result, _label)
00351 #define ATX_CHECK_LABEL_FINEST_L(_logger, _result, _label) ATX_CHECK_LABEL_LL(_logger, ATX_LOG_LEVEL_FINEST, _result, _label)
00352 #define ATX_CHECK_LABEL_FINEST(_result, _label) ATX_CHECK_LABEL_L(ATX_LOG_LEVEL_FINEST, _result, _label)
00353 
00354 /*----------------------------------------------------------------------
00355 |   prototypes
00356 +---------------------------------------------------------------------*/
00357 #ifdef __cplusplus
00358 extern "C" {
00359 #endif /* __cplusplus */
00360 
00361 ATX_Result  ATX_LogManager_Initialize(void);
00362 ATX_Result  ATX_LogManager_Terminate(void);
00363 ATX_Result  ATX_LogManager_SetLocker(ATX_LogManagerLocker locker);
00364 
00365 int         ATX_Log_GetLogLevel(const char* name);
00366 const char* ATX_Log_GetLogLevelName(int level);
00367 ATX_Logger* ATX_Log_GetLogger(const char* name);
00368 void ATX_Logger_Log(ATX_Logger*  self, 
00369                     int          level, 
00370                     const char*  source_file,
00371                     unsigned int source_line,
00372                     const char*  msg, 
00373                                  ...);
00374 ATX_Result ATX_Logger_AddHandler(ATX_Logger* self, ATX_LogHandler* handler);
00375 
00376 #ifdef __cplusplus
00377 }
00378 #endif /* __cplusplus */
00379 
00380 #endif /* _ATX_LOGGING_H_ */