Nymph  v1.5.2
Flow-Based Data Processing Framework
Classes | Namespaces | Macros
KTLogger.hh File Reference

Contains the logger class and macros, based on Kasper's KLogger class. More...

#include <string>
#include <iostream>
#include <sstream>
Include dependency graph for KTLogger.hh:

Go to the source code of this file.

Classes

class  KTLogger
 
struct  KTLogger::Location
 

Namespaces

 Nymph
 

Macros

#define LOGGER_UTILITY_MACROS_
 
#define STRINGIFY(x)   #x
 
#define TOSTRING(x)   STRINGIFY(x)
 
#define __FILE_LINE__   __FILE__ "(" TOSTRING(__LINE__) ")"
 
#define __FILENAME_LINE__   (strrchr(__FILE__, '/') ? strrchr(__FILE_LINE__, '/') + 1 : __FILE_LINE__)
 
#define __FUNC__   ""
 
#define va_num_args(...)   va_num_args_impl(__VA_ARGS__, 5,4,3,2,1)
 
#define va_num_args_impl(_1, _2, _3, _4, _5, N, ...)   N
 
#define macro_dispatcher(func, ...)   macro_dispatcher_(func, va_num_args(__VA_ARGS__))
 
#define macro_dispatcher_(func, nargs)   macro_dispatcher__(func, nargs)
 
#define macro_dispatcher__(func, nargs)   func ## nargs
 
#define KTCOLOR_NORMAL   "0"
 
#define KTCOLOR_BRIGHT   "1"
 
#define KTCOLOR_FOREGROUND_RED   "31"
 
#define KTCOLOR_FOREGROUND_GREEN   "32"
 
#define KTCOLOR_FOREGROUND_YELLOW   "33"
 
#define KTCOLOR_FOREGROUND_BLUE   "34"
 
#define KTCOLOR_FOREGROUND_CYAN   "36"
 
#define KTCOLOR_FOREGROUND_WHITE   "37"
 
#define KTCOLOR_PREFIX   "\033["
 
#define KTCOLOR_SUFFIX   "m"
 
#define KTCOLOR_SEPARATOR   ";"
 
#define __KTDEFAULT_LOGGER   ::Nymph::KTLogger::GetRootLogger()
 
#define __KTLOG_LOCATION   ::Nymph::KTLogger::Location(__FILE__, __FUNC__, __LINE__)
 
#define __KTLOG_LOG_4(I, L, M, O)
 
#define __KTLOG_LOG_3(I, L, M)   __KTLOG_LOG_4(I,L,M,false)
 
#define __KTLOG_LOG_2(L, M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,L,M,false)
 
#define __KTLOG_LOG_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Debug,M,false)
 
#define __KTLOG_TRACE_2(I, M)   __KTLOG_LOG_4(I,Trace,M,false)
 
#define __KTLOG_TRACE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Trace,M,false)
 
#define __KTLOG_DEBUG_2(I, M)   __KTLOG_LOG_4(I,Debug,M,false)
 
#define __KTLOG_DEBUG_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Debug,M,false)
 
#define __KTLOG_INFO_2(I, M)   __KTLOG_LOG_4(I,Info,M,false)
 
#define __KTLOG_INFO_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Info,M,false)
 
#define __KTLOG_PROG_2(I, M)   __KTLOG_LOG_4(I,Prog,M,false)
 
#define __KTLOG_PROG_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Prog,M,false)
 
#define __KTLOG_WARN_2(I, M)   __KTLOG_LOG_4(I,Warn,M,false)
 
#define __KTLOG_WARN_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Warn,M,false)
 
#define __KTLOG_ERROR_2(I, M)   __KTLOG_LOG_4(I,Error,M,false)
 
#define __KTLOG_ERROR_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Error,M,false)
 
#define __KTLOG_FATAL_2(I, M)   __KTLOG_LOG_4(I,Fatal,M,false)
 
#define __KTLOG_FATAL_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Fatal,M,false)
 
#define __KTLOG_ASSERT_3(I, C, M)   if (!(C)) { __MTLOG_ERROR_2(I,M) }
 
#define __KTLOG_ASSERT_2(C, M)   __KTLOG_ASSERT_3(__KTDEFAULT_LOGGER,C,M)
 
#define __KTLOG_LOG_ONCE_3(I, L, M)   __KTLOG_LOG_4(I,L,M,true)
 
#define __KTLOG_LOG_ONCE_2(L, M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,L,M,true)
 
#define __KTLOG_LOG_ONCE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Debug,M,true)
 
#define __KTLOG_TRACE_ONCE_2(I, M)   __KTLOG_LOG_4(I,Trace,M,true)
 
#define __KTLOG_TRACE_ONCE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Trace,M,true)
 
#define __KTLOG_DEBUG_ONCE_2(I, M)   __KTLOG_LOG_4(I,Debug,M,true)
 
#define __KTLOG_DEBUG_ONCE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Debug,M,true)
 
#define __KTLOG_INFO_ONCE_2(I, M)   __KTLOG_LOG_4(I,Info,M,true)
 
#define __KTLOG_INFO_ONCE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Info,M,true)
 
#define __KTLOG_PROG_ONCE_2(I, M)   __KTLOG_LOG_4(I,Prog,M,true)
 
#define __KTLOG_PROG_ONCE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Prog,M,true)
 
#define __KTLOG_WARN_ONCE_2(I, M)   __KTLOG_LOG_4(I,Warn,M,true)
 
#define __KTLOG_WARN_ONCE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Warn,M,true)
 
#define __KTLOG_ERROR_ONCE_2(I, M)   __KTLOG_LOG_4(I,Error,M,true)
 
#define __KTLOG_ERROR_ONCE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Error,M,true)
 
#define __KTLOG_FATAL_ONCE_2(I, M)   __KTLOG_LOG_4(I,Fatal,M,true)
 
#define __KTLOG_FATAL_ONCE_1(M)   __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Fatal,M,true)
 
#define KTLOGGER(I, K)   static ::Nymph::KTLogger I(K);
 
#define KTLOG(...)   macro_dispatcher(__KTLOG_LOG_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTTRACE(...)   macro_dispatcher(__KTLOG_TRACE_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTDEBUG(...)   macro_dispatcher(__KTLOG_DEBUG_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTINFO(...)   macro_dispatcher(__KTLOG_INFO_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTPROG(...)   macro_dispatcher(__KTLOG_PROG_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTWARN(...)   macro_dispatcher(__KTLOG_WARN_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTERROR(...)   macro_dispatcher(__KTLOG_ERROR_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTFATAL(...)   macro_dispatcher(__KTLOG_FATAL_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTASSERT(...)   macro_dispatcher(__KTLOG_ASSERT_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTLOG_ONCE(...)   macro_dispatcher(__KTLOG_LOG_ONCE_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTTRACE_ONCE(...)   macro_dispatcher(__KTLOG_TRACE_ONCE_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTDEBUG_ONCE(...)   macro_dispatcher(__KTLOG_DEBUG_ONCE_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTINFO_ONCE(...)   macro_dispatcher(__KTLOG_INFO_ONCE_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTPROG_ONCE(...)   macro_dispatcher(__KTLOG_PROG_ONCE_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTWARN_ONCE(...)   macro_dispatcher(__KTLOG_WARN_ONCE_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTERROR_ONCE(...)   macro_dispatcher(__KTLOG_ERROR_ONCE_, __VA_ARGS__)(__VA_ARGS__)
 
#define KTFATAL_ONCE(...)   macro_dispatcher(__KTLOG_FATAL_ONCE_, __VA_ARGS__)(__VA_ARGS__)
 

Detailed Description

Contains the logger class and macros, based on Kasper's KLogger class.

Date
Created on: 18.11.2011
Author
Marco Haag marco.nosp@m..haa.nosp@m.g@kit.nosp@m..edu

Definition in file KTLogger.hh.

Macro Definition Documentation

◆ __FILE_LINE__

#define __FILE_LINE__   __FILE__ "(" TOSTRING(__LINE__) ")"

Definition at line 27 of file KTLogger.hh.

◆ __FILENAME_LINE__

#define __FILENAME_LINE__   (strrchr(__FILE__, '/') ? strrchr(__FILE_LINE__, '/') + 1 : __FILE_LINE__)

Definition at line 28 of file KTLogger.hh.

◆ __FUNC__

#define __FUNC__   ""

Definition at line 40 of file KTLogger.hh.

◆ __KTDEFAULT_LOGGER

#define __KTDEFAULT_LOGGER   ::Nymph::KTLogger::GetRootLogger()

Definition at line 261 of file KTLogger.hh.

◆ __KTLOG_ASSERT_2

#define __KTLOG_ASSERT_2 (   C,
 
)    __KTLOG_ASSERT_3(__KTDEFAULT_LOGGER,C,M)

Definition at line 308 of file KTLogger.hh.

◆ __KTLOG_ASSERT_3

#define __KTLOG_ASSERT_3 (   I,
  C,
 
)    if (!(C)) { __MTLOG_ERROR_2(I,M) }

Definition at line 307 of file KTLogger.hh.

◆ __KTLOG_DEBUG_1

#define __KTLOG_DEBUG_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Debug,M,false)

Definition at line 286 of file KTLogger.hh.

◆ __KTLOG_DEBUG_2

#define __KTLOG_DEBUG_2 (   I,
 
)    __KTLOG_LOG_4(I,Debug,M,false)

Definition at line 285 of file KTLogger.hh.

◆ __KTLOG_DEBUG_ONCE_1

#define __KTLOG_DEBUG_ONCE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Debug,M,true)

Definition at line 319 of file KTLogger.hh.

◆ __KTLOG_DEBUG_ONCE_2

#define __KTLOG_DEBUG_ONCE_2 (   I,
 
)    __KTLOG_LOG_4(I,Debug,M,true)

Definition at line 318 of file KTLogger.hh.

◆ __KTLOG_ERROR_1

#define __KTLOG_ERROR_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Error,M,false)

Definition at line 302 of file KTLogger.hh.

◆ __KTLOG_ERROR_2

#define __KTLOG_ERROR_2 (   I,
 
)    __KTLOG_LOG_4(I,Error,M,false)

Definition at line 301 of file KTLogger.hh.

◆ __KTLOG_ERROR_ONCE_1

#define __KTLOG_ERROR_ONCE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Error,M,true)

Definition at line 331 of file KTLogger.hh.

◆ __KTLOG_ERROR_ONCE_2

#define __KTLOG_ERROR_ONCE_2 (   I,
 
)    __KTLOG_LOG_4(I,Error,M,true)

Definition at line 330 of file KTLogger.hh.

◆ __KTLOG_FATAL_1

#define __KTLOG_FATAL_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Fatal,M,false)

Definition at line 305 of file KTLogger.hh.

◆ __KTLOG_FATAL_2

#define __KTLOG_FATAL_2 (   I,
 
)    __KTLOG_LOG_4(I,Fatal,M,false)

Definition at line 304 of file KTLogger.hh.

◆ __KTLOG_FATAL_ONCE_1

#define __KTLOG_FATAL_ONCE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Fatal,M,true)

Definition at line 334 of file KTLogger.hh.

◆ __KTLOG_FATAL_ONCE_2

#define __KTLOG_FATAL_ONCE_2 (   I,
 
)    __KTLOG_LOG_4(I,Fatal,M,true)

Definition at line 333 of file KTLogger.hh.

◆ __KTLOG_INFO_1

#define __KTLOG_INFO_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Info,M,false)

Definition at line 293 of file KTLogger.hh.

◆ __KTLOG_INFO_2

#define __KTLOG_INFO_2 (   I,
 
)    __KTLOG_LOG_4(I,Info,M,false)

Definition at line 292 of file KTLogger.hh.

◆ __KTLOG_INFO_ONCE_1

#define __KTLOG_INFO_ONCE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Info,M,true)

Definition at line 322 of file KTLogger.hh.

◆ __KTLOG_INFO_ONCE_2

#define __KTLOG_INFO_ONCE_2 (   I,
 
)    __KTLOG_LOG_4(I,Info,M,true)

Definition at line 321 of file KTLogger.hh.

◆ __KTLOG_LOCATION

#define __KTLOG_LOCATION   ::Nymph::KTLogger::Location(__FILE__, __FUNC__, __LINE__)

Definition at line 263 of file KTLogger.hh.

◆ __KTLOG_LOG_1

#define __KTLOG_LOG_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Debug,M,false)

Definition at line 279 of file KTLogger.hh.

◆ __KTLOG_LOG_2

#define __KTLOG_LOG_2 (   L,
 
)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,L,M,false)

Definition at line 278 of file KTLogger.hh.

◆ __KTLOG_LOG_3

#define __KTLOG_LOG_3 (   I,
  L,
 
)    __KTLOG_LOG_4(I,L,M,false)

Definition at line 277 of file KTLogger.hh.

◆ __KTLOG_LOG_4

#define __KTLOG_LOG_4 (   I,
  L,
  M,
 
)
Value:
{ \
if (I.IsLevelEnabled(::Nymph::KTLogger::e##L)) { \
static bool _sLoggerMarker = false; \
if (!O || !_sLoggerMarker) { \
_sLoggerMarker = true; \
::std::ostringstream stream; stream << M; \
I.Log(::Nymph::KTLogger::e##L, stream.str(), __KTLOG_LOCATION); \
} \
} \
}
#define __KTLOG_LOCATION
Definition: KTLogger.hh:263

Definition at line 265 of file KTLogger.hh.

◆ __KTLOG_LOG_ONCE_1

#define __KTLOG_LOG_ONCE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Debug,M,true)

Definition at line 313 of file KTLogger.hh.

◆ __KTLOG_LOG_ONCE_2

#define __KTLOG_LOG_ONCE_2 (   L,
 
)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,L,M,true)

Definition at line 312 of file KTLogger.hh.

◆ __KTLOG_LOG_ONCE_3

#define __KTLOG_LOG_ONCE_3 (   I,
  L,
 
)    __KTLOG_LOG_4(I,L,M,true)

Definition at line 311 of file KTLogger.hh.

◆ __KTLOG_PROG_1

#define __KTLOG_PROG_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Prog,M,false)

Definition at line 296 of file KTLogger.hh.

◆ __KTLOG_PROG_2

#define __KTLOG_PROG_2 (   I,
 
)    __KTLOG_LOG_4(I,Prog,M,false)

Definition at line 295 of file KTLogger.hh.

◆ __KTLOG_PROG_ONCE_1

#define __KTLOG_PROG_ONCE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Prog,M,true)

Definition at line 325 of file KTLogger.hh.

◆ __KTLOG_PROG_ONCE_2

#define __KTLOG_PROG_ONCE_2 (   I,
 
)    __KTLOG_LOG_4(I,Prog,M,true)

Definition at line 324 of file KTLogger.hh.

◆ __KTLOG_TRACE_1

#define __KTLOG_TRACE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Trace,M,false)

Definition at line 282 of file KTLogger.hh.

◆ __KTLOG_TRACE_2

#define __KTLOG_TRACE_2 (   I,
 
)    __KTLOG_LOG_4(I,Trace,M,false)

Definition at line 281 of file KTLogger.hh.

◆ __KTLOG_TRACE_ONCE_1

#define __KTLOG_TRACE_ONCE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Trace,M,true)

Definition at line 316 of file KTLogger.hh.

◆ __KTLOG_TRACE_ONCE_2

#define __KTLOG_TRACE_ONCE_2 (   I,
 
)    __KTLOG_LOG_4(I,Trace,M,true)

Definition at line 315 of file KTLogger.hh.

◆ __KTLOG_WARN_1

#define __KTLOG_WARN_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Warn,M,false)

Definition at line 299 of file KTLogger.hh.

◆ __KTLOG_WARN_2

#define __KTLOG_WARN_2 (   I,
 
)    __KTLOG_LOG_4(I,Warn,M,false)

Definition at line 298 of file KTLogger.hh.

◆ __KTLOG_WARN_ONCE_1

#define __KTLOG_WARN_ONCE_1 (   M)    __KTLOG_LOG_4(__KTDEFAULT_LOGGER,Warn,M,true)

Definition at line 328 of file KTLogger.hh.

◆ __KTLOG_WARN_ONCE_2

#define __KTLOG_WARN_ONCE_2 (   I,
 
)    __KTLOG_LOG_4(I,Warn,M,true)

Definition at line 327 of file KTLogger.hh.

◆ KTASSERT

#define KTASSERT (   ...)    macro_dispatcher(__KTLOG_ASSERT_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 349 of file KTLogger.hh.

◆ KTCOLOR_BRIGHT

#define KTCOLOR_BRIGHT   "1"

Definition at line 54 of file KTLogger.hh.

◆ KTCOLOR_FOREGROUND_BLUE

#define KTCOLOR_FOREGROUND_BLUE   "34"

Definition at line 58 of file KTLogger.hh.

◆ KTCOLOR_FOREGROUND_CYAN

#define KTCOLOR_FOREGROUND_CYAN   "36"

Definition at line 59 of file KTLogger.hh.

◆ KTCOLOR_FOREGROUND_GREEN

#define KTCOLOR_FOREGROUND_GREEN   "32"

Definition at line 56 of file KTLogger.hh.

◆ KTCOLOR_FOREGROUND_RED

#define KTCOLOR_FOREGROUND_RED   "31"

Definition at line 55 of file KTLogger.hh.

◆ KTCOLOR_FOREGROUND_WHITE

#define KTCOLOR_FOREGROUND_WHITE   "37"

Definition at line 60 of file KTLogger.hh.

◆ KTCOLOR_FOREGROUND_YELLOW

#define KTCOLOR_FOREGROUND_YELLOW   "33"

Definition at line 57 of file KTLogger.hh.

◆ KTCOLOR_NORMAL

#define KTCOLOR_NORMAL   "0"

Definition at line 53 of file KTLogger.hh.

◆ KTCOLOR_PREFIX

#define KTCOLOR_PREFIX   "\033["

Definition at line 61 of file KTLogger.hh.

◆ KTCOLOR_SEPARATOR

#define KTCOLOR_SEPARATOR   ";"

Definition at line 63 of file KTLogger.hh.

◆ KTCOLOR_SUFFIX

#define KTCOLOR_SUFFIX   "m"

Definition at line 62 of file KTLogger.hh.

◆ KTDEBUG

#define KTDEBUG (   ...)    macro_dispatcher(__KTLOG_DEBUG_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 343 of file KTLogger.hh.

◆ KTDEBUG_ONCE

#define KTDEBUG_ONCE (   ...)    macro_dispatcher(__KTLOG_DEBUG_ONCE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 353 of file KTLogger.hh.

◆ KTERROR

#define KTERROR (   ...)    macro_dispatcher(__KTLOG_ERROR_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 347 of file KTLogger.hh.

◆ KTERROR_ONCE

#define KTERROR_ONCE (   ...)    macro_dispatcher(__KTLOG_ERROR_ONCE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 357 of file KTLogger.hh.

◆ KTFATAL

#define KTFATAL (   ...)    macro_dispatcher(__KTLOG_FATAL_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 348 of file KTLogger.hh.

◆ KTFATAL_ONCE

#define KTFATAL_ONCE (   ...)    macro_dispatcher(__KTLOG_FATAL_ONCE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 358 of file KTLogger.hh.

◆ KTINFO

#define KTINFO (   ...)    macro_dispatcher(__KTLOG_INFO_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 344 of file KTLogger.hh.

◆ KTINFO_ONCE

#define KTINFO_ONCE (   ...)    macro_dispatcher(__KTLOG_INFO_ONCE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 354 of file KTLogger.hh.

◆ KTLOG

#define KTLOG (   ...)    macro_dispatcher(__KTLOG_LOG_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 341 of file KTLogger.hh.

◆ KTLOG_ONCE

#define KTLOG_ONCE (   ...)    macro_dispatcher(__KTLOG_LOG_ONCE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 351 of file KTLogger.hh.

◆ KTLOGGER

#define KTLOGGER (   I,
 
)    static ::Nymph::KTLogger I(K);

Definition at line 339 of file KTLogger.hh.

◆ KTPROG

#define KTPROG (   ...)    macro_dispatcher(__KTLOG_PROG_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 345 of file KTLogger.hh.

◆ KTPROG_ONCE

#define KTPROG_ONCE (   ...)    macro_dispatcher(__KTLOG_PROG_ONCE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 355 of file KTLogger.hh.

◆ KTTRACE

#define KTTRACE (   ...)    macro_dispatcher(__KTLOG_TRACE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 342 of file KTLogger.hh.

◆ KTTRACE_ONCE

#define KTTRACE_ONCE (   ...)    macro_dispatcher(__KTLOG_TRACE_ONCE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 352 of file KTLogger.hh.

◆ KTWARN

#define KTWARN (   ...)    macro_dispatcher(__KTLOG_WARN_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 346 of file KTLogger.hh.

◆ KTWARN_ONCE

#define KTWARN_ONCE (   ...)    macro_dispatcher(__KTLOG_WARN_ONCE_, __VA_ARGS__)(__VA_ARGS__)

Definition at line 356 of file KTLogger.hh.

◆ LOGGER_UTILITY_MACROS_

#define LOGGER_UTILITY_MACROS_

Definition at line 23 of file KTLogger.hh.

◆ macro_dispatcher

#define macro_dispatcher (   func,
  ... 
)    macro_dispatcher_(func, va_num_args(__VA_ARGS__))

Definition at line 46 of file KTLogger.hh.

◆ macro_dispatcher_

#define macro_dispatcher_ (   func,
  nargs 
)    macro_dispatcher__(func, nargs)

Definition at line 47 of file KTLogger.hh.

◆ macro_dispatcher__

#define macro_dispatcher__ (   func,
  nargs 
)    func ## nargs

Definition at line 48 of file KTLogger.hh.

◆ STRINGIFY

#define STRINGIFY (   x)    #x

Definition at line 25 of file KTLogger.hh.

◆ TOSTRING

#define TOSTRING (   x)    STRINGIFY(x)

Definition at line 26 of file KTLogger.hh.

◆ va_num_args

#define va_num_args (   ...)    va_num_args_impl(__VA_ARGS__, 5,4,3,2,1)

Definition at line 43 of file KTLogger.hh.

◆ va_num_args_impl

#define va_num_args_impl (   _1,
  _2,
  _3,
  _4,
  _5,
  N,
  ... 
)    N

Definition at line 44 of file KTLogger.hh.