Skip to content

Commit e3aef2d

Browse files
authored
Add LOG_IF and DLOG like glog lib (#109)
1 parent bcd8ff9 commit e3aef2d

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed

trantor/utils/Logger.h

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,5 +178,109 @@ class Logger : public NonCopyable
178178
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kFatal).stream()
179179
#define LOG_SYSERR trantor::Logger(__FILE__, __LINE__, true).stream()
180180

181+
#define LOG_TRACE_IF(cond) \
182+
if ((trantor::Logger::logLevel() <= trantor::Logger::kTrace) && (cond)) \
183+
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
184+
.stream()
185+
#define LOG_DEBUG_IF(cond) \
186+
if ((Tensor::Logger::logLevel() <= Tensor::Logger::kDebug) && (cond)) \
187+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kDebug, __func__) \
188+
.stream()
189+
#define LOG_INFO_IF(cond) \
190+
if ((Tensor::Logger::logLevel() <= Tensor::Logger::kInfo) && (cond)) \
191+
Tensor::Logger(__FILE__, __LINE__).stream()
192+
#define LOG_WARN_IF(cond) \
193+
if (cond) \
194+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kWarn).stream()
195+
#define LOG_ERROR_IF(cond) \
196+
if (cond) \
197+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kError).stream()
198+
#define LOG_FATAL_IF(cond) \
199+
if (cond) \
200+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kFatal).stream()
201+
202+
#ifdef NDEBUG
203+
#define DLOG_TRACE \
204+
if (0) \
205+
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
206+
.stream()
207+
#define DLOG_DEBUG \
208+
if (0) \
209+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kDebug, __func__) \
210+
.stream()
211+
#define DLOG_INFO \
212+
if (0) \
213+
Tensor::Logger(__FILE__, __LINE__).stream()
214+
#define DLOG_WARN \
215+
if (0) \
216+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kWarn).stream()
217+
#define DLOG_ERROR \
218+
if (0) \
219+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kError).stream()
220+
#define DLOG_FATAL \
221+
if (0) \
222+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kFatal).stream()
223+
224+
#define DLOG_TRACE_IF(cond) \
225+
if (0) \
226+
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
227+
.stream()
228+
#define DLOG_DEBUG_IF(cond) \
229+
if (0) \
230+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kDebug, __func__) \
231+
.stream()
232+
#define DLOG_INFO_IF(cond) \
233+
if (0) \
234+
Tensor::Logger(__FILE__, __LINE__).stream()
235+
#define DLOG_WARN_IF(cond) \
236+
if (0) \
237+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kWarn).stream()
238+
#define DLOG_ERROR_IF(cond) \
239+
if (0) \
240+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kError).stream()
241+
#define DLOG_FATAL_IF(cond) \
242+
if (0) \
243+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kFatal).stream()
244+
#else
245+
#define DLOG_TRACE \
246+
if (trantor::Logger::logLevel() <= trantor::Logger::kTrace) \
247+
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
248+
.stream()
249+
#define DLOG_DEBUG \
250+
if (Tensor::Logger::logLevel() <= Tensor::Logger::kDebug) \
251+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kDebug, __func__) \
252+
.stream()
253+
#define DLOG_INFO \
254+
if (Tensor::Logger::logLevel() <= Tensor::Logger::kInfo) \
255+
Tensor::Logger(__FILE__, __LINE__).stream()
256+
#define DLOG_WARN \
257+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kWarn).stream()
258+
#define DLOG_ERROR \
259+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kError).stream()
260+
#define DLOG_FATAL \
261+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kFatal).stream()
262+
263+
#define DLOG_TRACE_IF(cond) \
264+
if ((trantor::Logger::logLevel() <= trantor::Logger::kTrace) && (cond)) \
265+
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
266+
.stream()
267+
#define DLOG_DEBUG_IF(cond) \
268+
if ((Tensor::Logger::logLevel() <= Tensor::Logger::kDebug) && (cond)) \
269+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kDebug, __func__) \
270+
.stream()
271+
#define DLOG_INFO_IF(cond) \
272+
if ((Tensor::Logger::logLevel() <= Tensor::Logger::kInfo) && (cond)) \
273+
Tensor::Logger(__FILE__, __LINE__).stream()
274+
#define DLOG_WARN_IF(cond) \
275+
if (cond) \
276+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kWarn).stream()
277+
#define DLOG_ERROR_IF(cond) \
278+
if (cond) \
279+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kError).stream()
280+
#define DLOG_FATAL_IF(cond) \
281+
if (cond) \
282+
Tensor::Logger(__FILE__, __LINE__, Tensor::Logger::kFatal).stream()
283+
#endif
284+
181285
const char *strerror_tl(int savedErrno);
182286
} // namespace trantor

0 commit comments

Comments
 (0)