|
61 | 61 |
|
62 | 62 | #import "DDLog.h"
|
63 | 63 |
|
| 64 | +// Global flag to enable/disable logging throughout the entire xmpp framework. |
| 65 | + |
| 66 | +#define XMPP_LOGGING_ENABLED 1 |
| 67 | + |
64 | 68 | // Define logging context for every log message coming from the XMPP framework.
|
65 | 69 | // The logging context can be extracted from the DDLogMessage from within the logging framework.
|
66 | 70 | // This gives loggers, formatters, and filters the ability to optionally process them differently.
|
|
88 | 92 |
|
89 | 93 | #define XMPP_LOG_FLAG_TRACE (1 << 4) // 0...10000
|
90 | 94 |
|
91 |
| - |
92 | 95 | // Setup the usual boolean macros.
|
93 | 96 |
|
94 | 97 | #define XMPP_LOG_ERROR (xmppLogLevel & XMPP_LOG_FLAG_ERROR)
|
|
114 | 117 | #define XMPP_LOG_ASYNC_TRACE (YES && XMPP_LOG_ASYNC_ENABLED)
|
115 | 118 |
|
116 | 119 | // Define logging primitives.
|
| 120 | +// These are primarily wrappers around the macros defined in Lumberjack's DDLog.h header file. |
| 121 | + |
| 122 | +#define XMPP_LOG_OBJC_MAYBE(async, lvl, flg, ctx, frmt, ...) \ |
| 123 | + do{ if(XMPP_LOGGING_ENABLED) LOG_MAYBE(async, lvl, flg, ctx, sel_getName(_cmd), frmt, ##__VA_ARGS__); } while(0) |
| 124 | + |
| 125 | +#define XMPP_LOG_C_MAYBE(async, lvl, flg, ctx, frmt, ...) \ |
| 126 | + do{ if(XMPP_LOGGING_ENABLED) LOG_MAYBE(async, lvl, flg, ctx, __FUNCTION__, frmt, ##__VA_ARGS__); } while(0) |
| 127 | + |
117 | 128 |
|
118 |
| -#define XMPPLogError(frmt, ...) LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_ERROR, xmppLogLevel, XMPP_LOG_FLAG_ERROR, \ |
| 129 | +#define XMPPLogError(frmt, ...) XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_ERROR, xmppLogLevel, XMPP_LOG_FLAG_ERROR, \ |
119 | 130 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
120 | 131 |
|
121 |
| -#define XMPPLogWarn(frmt, ...) LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_WARN, xmppLogLevel, XMPP_LOG_FLAG_WARN, \ |
| 132 | +#define XMPPLogWarn(frmt, ...) XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_WARN, xmppLogLevel, XMPP_LOG_FLAG_WARN, \ |
122 | 133 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
123 | 134 |
|
124 |
| -#define XMPPLogInfo(frmt, ...) LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_INFO, xmppLogLevel, XMPP_LOG_FLAG_INFO, \ |
| 135 | +#define XMPPLogInfo(frmt, ...) XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_INFO, xmppLogLevel, XMPP_LOG_FLAG_INFO, \ |
125 | 136 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
126 | 137 |
|
127 |
| -#define XMPPLogVerbose(frmt, ...) LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_VERBOSE, xmppLogLevel, XMPP_LOG_FLAG_VERBOSE, \ |
| 138 | +#define XMPPLogVerbose(frmt, ...) XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_VERBOSE, xmppLogLevel, XMPP_LOG_FLAG_VERBOSE, \ |
128 | 139 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
129 | 140 |
|
130 |
| -#define XMPPLogTrace() LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_TRACE, xmppLogLevel, XMPP_LOG_FLAG_TRACE, \ |
| 141 | +#define XMPPLogTrace() XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_TRACE, xmppLogLevel, XMPP_LOG_FLAG_TRACE, \ |
131 | 142 | XMPP_LOG_CONTEXT, @"%@: %@", THIS_FILE, THIS_METHOD)
|
132 | 143 |
|
133 |
| -#define XMPPLogTrace2(frmt, ...) LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_TRACE, xmppLogLevel, XMPP_LOG_FLAG_TRACE, \ |
| 144 | +#define XMPPLogTrace2(frmt, ...) XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_TRACE, xmppLogLevel, XMPP_LOG_FLAG_TRACE, \ |
134 | 145 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
135 | 146 |
|
136 | 147 |
|
137 |
| -#define XMPPLogCError(frmt, ...) LOG_C_MAYBE(XMPP_LOG_ASYNC_ERROR, xmppLogLevel, XMPP_LOG_FLAG_ERROR, \ |
| 148 | +#define XMPPLogCError(frmt, ...) XMPP_LOG_C_MAYBE(XMPP_LOG_ASYNC_ERROR, xmppLogLevel, XMPP_LOG_FLAG_ERROR, \ |
138 | 149 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
139 | 150 |
|
140 |
| -#define XMPPLogCWarn(frmt, ...) LOG_C_MAYBE(XMPP_LOG_ASYNC_WARN, xmppLogLevel, XMPP_LOG_FLAG_WARN, \ |
| 151 | +#define XMPPLogCWarn(frmt, ...) XMPP_LOG_C_MAYBE(XMPP_LOG_ASYNC_WARN, xmppLogLevel, XMPP_LOG_FLAG_WARN, \ |
141 | 152 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
142 | 153 |
|
143 |
| -#define XMPPLogCInfo(frmt, ...) LOG_C_MAYBE(XMPP_LOG_ASYNC_INFO, xmppLogLevel, XMPP_LOG_FLAG_INFO, \ |
| 154 | +#define XMPPLogCInfo(frmt, ...) XMPP_LOG_C_MAYBE(XMPP_LOG_ASYNC_INFO, xmppLogLevel, XMPP_LOG_FLAG_INFO, \ |
144 | 155 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
145 | 156 |
|
146 |
| -#define XMPPLogCVerbose(frmt, ...) LOG_C_MAYBE(XMPP_LOG_ASYNC_VERBOSE, xmppLogLevel, XMPP_LOG_FLAG_VERBOSE, \ |
| 157 | +#define XMPPLogCVerbose(frmt, ...) XMPP_LOG_C_MAYBE(XMPP_LOG_ASYNC_VERBOSE, xmppLogLevel, XMPP_LOG_FLAG_VERBOSE, \ |
147 | 158 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
148 | 159 |
|
149 |
| -#define XMPPLogCTrace() LOG_C_MAYBE(XMPP_LOG_ASYNC_TRACE, xmppLogLevel, XMPP_LOG_FLAG_TRACE, \ |
| 160 | +#define XMPPLogCTrace() XMPP_LOG_C_MAYBE(XMPP_LOG_ASYNC_TRACE, xmppLogLevel, XMPP_LOG_FLAG_TRACE, \ |
150 | 161 | XMPP_LOG_CONTEXT, @"%@: %s", THIS_FILE, __FUNCTION__)
|
151 | 162 |
|
152 |
| -#define XMPPLogCTrace2(frmt, ...) LOG_C_MAYBE(XMPP_LOG_ASYNC_TRACE, xmppLogLevel, XMPP_LOG_FLAG_TRACE, \ |
| 163 | +#define XMPPLogCTrace2(frmt, ...) XMPP_LOG_C_MAYBE(XMPP_LOG_ASYNC_TRACE, xmppLogLevel, XMPP_LOG_FLAG_TRACE, \ |
153 | 164 | XMPP_LOG_CONTEXT, frmt, ##__VA_ARGS__)
|
154 | 165 |
|
155 | 166 | // Setup logging for XMPPStream (and subclasses such as XMPPStreamFacebook)
|
|
168 | 179 | #define XMPP_LOG_ASYNC_RECV_PRE (YES && XMPP_LOG_ASYNC_ENABLED)
|
169 | 180 | #define XMPP_LOG_ASYNC_RECV_POST (YES && XMPP_LOG_ASYNC_ENABLED)
|
170 | 181 |
|
171 |
| -#define XMPPLogSend(format, ...) LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_SEND, xmppLogLevel, XMPP_LOG_FLAG_SEND, \ |
172 |
| - XMPP_LOG_CONTEXT, format, ##__VA_ARGS__) |
| 182 | +#define XMPPLogSend(format, ...) XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_SEND, xmppLogLevel, \ |
| 183 | + XMPP_LOG_FLAG_SEND, XMPP_LOG_CONTEXT, format, ##__VA_ARGS__) |
173 | 184 |
|
174 |
| -#define XMPPLogRecvPre(format, ...) LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_RECV_PRE, xmppLogLevel, XMPP_LOG_FLAG_RECV_PRE, \ |
175 |
| - XMPP_LOG_CONTEXT, format, ##__VA_ARGS__) |
| 185 | +#define XMPPLogRecvPre(format, ...) XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_RECV_PRE, xmppLogLevel, \ |
| 186 | + XMPP_LOG_FLAG_RECV_PRE, XMPP_LOG_CONTEXT, format, ##__VA_ARGS__) |
176 | 187 |
|
177 |
| -#define XMPPLogRecvPost(format, ...) LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_RECV_POST, xmppLogLevel, XMPP_LOG_FLAG_RECV_POST, \ |
178 |
| - XMPP_LOG_CONTEXT, format, ##__VA_ARGS__) |
| 188 | +#define XMPPLogRecvPost(format, ...) XMPP_LOG_OBJC_MAYBE(XMPP_LOG_ASYNC_RECV_POST, xmppLogLevel, \ |
| 189 | + XMPP_LOG_FLAG_RECV_POST, XMPP_LOG_CONTEXT, format, ##__VA_ARGS__) |
0 commit comments