RDMA++
Loading...
Searching...
No Matches
include
rdmapp
detail
debug.h
1
#pragma once
2
#include <chrono>
3
#include <cstdio>
4
#include <ctime>
5
6
#ifndef SOURCE_PATH_LENGTH
7
#define SOURCE_PATH_LENGTH 0
8
#endif
9
10
#define __RDMAPP_FILENAME__ (&__FILE__[SOURCE_PATH_LENGTH])
11
12
namespace
rdmapp {
13
14
enum class
LogLevel {
15
TRACE,
16
DEBUG,
17
INFO,
18
WARN,
19
ERROR,
20
};
21
22
}
23
24
constexpr
static
inline
rdmapp::LogLevel rdmapp_log_level =
25
rdmapp::LogLevel::DEBUG;
26
27
#define RDMAPP_LOG_TRACE(msg, ...) \
28
do { \
29
if (rdmapp_log_level > rdmapp::LogLevel::TRACE) \
30
break; \
31
printf("[TRACE] [%s:%d] " msg "\n", __RDMAPP_FILENAME__, \
32
__LINE__ __VA_OPT__(, ) __VA_ARGS__); \
33
} while (0)
34
35
#define RDMAPP_LOG_DEBUG(msg, ...) \
36
do { \
37
if (rdmapp_log_level > rdmapp::LogLevel::DEBUG) \
38
break; \
39
printf("[DEBUG] [%s:%d] " msg "\n", __RDMAPP_FILENAME__, \
40
__LINE__ __VA_OPT__(, ) __VA_ARGS__); \
41
} while (0)
42
43
#define RDMAPP_LOG_INFO(msg, ...) \
44
do { \
45
if (rdmapp_log_level > rdmapp::LogLevel::INFO) \
46
break; \
47
printf("[INFO ] [%s:%d] " msg "\n", __RDMAPP_FILENAME__, \
48
__LINE__ __VA_OPT__(, ) __VA_ARGS__); \
49
} while (0)
50
51
#define RDMAPP_LOG_ERROR(msg, ...) \
52
do { \
53
printf("[ERROR] [%s:%d] " msg "\n", __RDMAPP_FILENAME__, \
54
__LINE__ __VA_OPT__(, ) __VA_ARGS__); \
55
} while (0)
Generated by
1.9.8